# DL::PtrData#to\_a dumps core

**URL:** <https://www.ruby-forum.com/t/dl-ptrdata-to-a-dumps-core/88464>\
**Category:** Development\
**Created:** [March 11, 2007, 4:14pm UTC](https://www.ruby-forum.com/t/dl-ptrdata-to-a-dumps-core/88464 "2007-03-11T16:14:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sheepman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d07c76/32.png) [@sheepman](https://www.ruby-forum.com/u/sheepman)\
**Post date:** [March 11, 2007, 4:14pm UTC](https://www.ruby-forum.com/t/dl-ptrdata-to-a-dumps-core/88464/1 "2007-03-11T16:14:55Z")

</div>

e$B$3$s$P$s$O!"e(Bsheepman e$B$G$9!#e(B

DL::PtrData e$B$,0J2\<$N$h$&$K$9$k$He(B core e$B$rEG$-$^$9!#e(B  
PtrData e$B%/%i%9$O%]%$%s%?!\<$N%i%C%Q!\<$G$9$+$i!"07$$\<!Bh$G$Oe(B  
core e$B$rEG$$$F$7$^$&$N$O;EJ}$,$J$$$H;W$&$N$G$9$,!“0J2\<$N\>l9g$Ke(B core  
e$B$re(B  
e$BEG$$$F$7$^$&$N$O!”%P%0$J$s$8$c$J$$$+$H;W$$$^$9!#e(B

e$B;EMM$J$s$G$7$g$&$+e(B?

e$B$H$j$"$($:!"%Q%C%A$rE:IU$7$^$9!#e(B

$ cat t2.rb  
require “dl”  
sp = [‘a’, ‘b’, ‘c’].to\_ptr  
sp.to\_a(‘S’)

$ ruby-1.8 -v t2.rb  
ruby 1.8.6 (2007-03-05 patchlevel 5000) [i686-linux]  
t2.rb:3: [BUG] Segmentation fault  
ruby 1.8.6 (2007-03-05) [i686-linux]

zsh: abort ruby-1.8 -v t2.rb

# $ svn diff ext/dl/ptr.c Index: ext/dl/ptr.c

— ext/dl/ptr.c (revision 12023)  
+++ ext/dl/ptr.c (working copy)  
@@ -344,7 +344,7 @@  
n = data-\>size / sizeof(void\*);  
break;  
case ‘S’: case ‘s’:

- 

```
 for (n=0; ((void**)(data->ptr))[n]; n++) {};

```

- 

```
 n = data->size / sizeof(char*);
 break;

```

default:  
n = 0;

---

<div class="post-metadata">

**Author:** ![sheepman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d07c76/32.png) [@sheepman](https://www.ruby-forum.com/u/sheepman)\
**Post date:** [March 11, 2007, 5:20pm UTC](https://www.ruby-forum.com/t/dl-ptrdata-to-a-dumps-core/88464/2 "2007-03-11T17:20:02Z")

</div>

ttateã•ã‚“ã«CCã—ã¾ã™ã€‚

At Mon, 12 Mar 2007 00:14:20 +0900,  
sheepman wrote:

> ã“ã‚“ã°ã‚“ã¯ã€sheepman ã§ã™ã€‚
> 
> DL::PtrData ãŒä»¥ä¸‹ã®ã‚ˆã†ã«ã™ã‚‹ã¨ core ã‚’åãã¾ã™ã€‚  
> PtrData ã‚¯ãƒ©ã‚¹ã¯ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã®ãƒ©ãƒƒãƒ‘ãƒ¼ã§ã™ã‹ã‚‰ã€æ‰±ã„æ¬¡ç¬¬ã§ã¯  
> core ã‚’åã„ã¦ã—ã¾ã†ã®ã¯ä»•æ–¹ãŒãªã„ã¨æ€ã†ã®ã§ã™ãŒã€ä»¥ä¸‹ã®å ´åˆã« core ã‚’  
> åã„ã¦ã—ã¾ã†ã®ã¯ã€ãƒã‚°ãªã‚“ã˜ã‚ƒãªã„ã‹ã¨æ€ã„ã¾ã™ã€‚
> 
> ä»•æ§˜ãªã‚“ã§ã—ã‚‡ã†ã‹?

r4831 | ttate | 2003-10-22 23:29:20 +0900 (Wed, 22 Oct 2003) | 2 lines

Bugfix for PR#1196

ã¨ã„ã†ã‚³ãƒŸãƒƒãƒˆã«ä½•ã‹æ„å›³ãŒã‚ã‚Šãã†ã§ã™ãŒã€ã©ã†ã§ã—ã‚‡ã†ã­ã€‚

> ruby 1.8.6 (2007-03-05) [i686-linux]  
> break;  
> case ‘S’: case ‘s’:
> 
> - 
> 
> ```
> for (n=0; ((void**)(data->ptr))[n]; n++) {};
> 
> ```
> 
> - 
> 
> ```
> n = data->size / sizeof(char*);
> break;
> 
> ```
> 
> default:  
> n = 0;
> 
> –  
> sheepman / TAMURA Takashi  
> removed\_email\_address@domain.invalid

–  
/  
/\_\_ \_\_ [Akinori.org](http://Akinori.org) / [MUSHA.org](http://MUSHA.org)  
/ ) ) ) ) / [FreeBSD.org](http://FreeBSD.org) / [Ruby-lang.org](http://Ruby-lang.org)  
Akinori MUSHA aka / (\_ / ( (\_\_( @ [iDaemons.org](http://iDaemons.org) / and.or.jp

“Different eyes see different things,  
Different hearts beat on different strings –  
But there are times for you and me when all such things agree”

---

<div class="post-metadata">

**Author:** ![sheepman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d07c76/32.png) [@sheepman](https://www.ruby-forum.com/u/sheepman)\
**Post date:** [March 12, 2007, 3:32pm UTC](https://www.ruby-forum.com/t/dl-ptrdata-to-a-dumps-core/88464/3 "2007-03-12T15:32:47Z")

</div>

Akinori MUSHA wrote:

> > DL::PtrData e$B$,0J2\<$N$h$&$K$9$k$He(B core e$B$rEG$-$^$9!#e(B  
> > PtrData e$B%/%i%9$O%]%$%s%?!\<$N%i%C%Q!\<$G$9$+$i!"07$$\<!Bh$G$Oe(B  
> > core e$B$rEG$$$F$7$^$&$N$O;EJ}$,$J$$$H;W$&$N$G$9$,!“0J2\<$N\>l9g$Ke(B core e$B$re(B  
> > e$BEG$$$F$7$^$&$N$O!”%P%0$J$s$8$c$J$$$+$H;W$$$^$9!#e(B
> 
> r4831 | ttate | 2003-10-22 23:29:20 +0900 (Wed, 22 Oct 2003) | 2 lines
> 
> Bugfix for PR#1196
> 
> e$B$H$$$&%3%\_%C%H$K2?$+0U?^$,$"$j$=$&$G$9$,!"$I$&$G$7$g$&$M!#e(B

e$BA4$/3P$($F$$$J$$$N$G$9$,!";W$$=P$9EXNO$r$7$F$\_$^$9!#e(B  
e$BFC$K2?$b$J$1$l$P%Q%C%A$rH?1G$5$;$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![sheepman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d07c76/32.png) [@sheepman](https://www.ruby-forum.com/u/sheepman)\
**Post date:** [March 17, 2007, 7:07am UTC](https://www.ruby-forum.com/t/dl-ptrdata-to-a-dumps-core/88464/4 "2007-03-17T07:07:32Z")

</div>

Takaaki T. wrote:

> e$BA4$/3P$($F$$$J$$$N$G$9$,!";W$$=P$9EXNO$r$7$F$\_$^$9!#e(B  
> e$BFC$K2?$b$J$1$l$P%Q%C%A$rH?1G$5$;$^$9!#e(B

e$B$O$d$j0U?^$O;W$$=P$;$J$$$N$G$9$,!"%P%0$@$H;W$&$N$G%Q%C%A$Ne(B  
e$BDL$j=$@5$r9T$$$^$7$?!#e(B

# e$B0lO"$N%P%0Js9p$"$j$,$H$&$4$6$$$^$9!#e(B\> sheepmane$B$5$se(B

# e$B;~4V$,$G$-$?$i%F%9%H%1!\<%9$K$bH?1G$5$;$F$\*$-$?$$$H;W$$$^$9!#e(B
