From: Christopher Thompson Date: 2008-05-14T08:20:07+09:00 Subject: Minor memory leak in 1.8.6? 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] = '\0'; s = p; } } return rb_cstr_to_inum(s, base, badcheck); }