List Info

Thread: Minor memory leak in 1.8.6?




Minor memory leak in 1.8.6?
country flaguser name
Canada
2008-05-13 18:20:15
Is it not the case that rb_Str_to_inum(str, base, badcheck)
in bignum.c 
leaks the memory allocated with ALLOCA_N?

I think it should always be the case that the string has a
sentinel and 
so if we end up running that section, there's already a bug,
in which 
case this may not be worth worrying about.


VALUE
rb_str_to_inum(str, base, badcheck)
     VALUE str;
     int base;
     int badcheck;
{
     char *s;
     long len;

     StringValue(str);
     if (badcheck) {
	s = StringValueCStr(str);
     }
     else {
	s = RSTRING(str)->ptr;
     }
     if (s) {
	len = RSTRING(str)->len;
	if (s[len]) {		/* no sentinel somehow */
	    char *p = ALLOCA_N(char, len+1);  /* THIS BIT HERE */

	    MEMCPY(p, s, char, len);
	    p[len] = '';
	    s = p;
	}
     }
     return rb_cstr_to_inum(s, base, badcheck);
}


[1]

about | contact  Other archives ( Real Estate discussion Medical topics )