Request for approval: Bug 100057 - Potential stack corruption in GetJavaProperties

Andrew Haley aph at redhat.com
Sat May 23 08:14:00 UTC 2009


Xueming Shen wrote:
> Andrew Haley wrote:
>>              }
>>
>>              if (mapLookup(locale_aliases, temp, &p)) {
>> -                strcpy(temp, p);
>> +                temp = realloc(temp, strlen(p)+1);
>> +                if (temp == NULL) {
>> +                    JNU_ThrowOutOfMemoryError(env, NULL);
>> +                    return NULL;
>> +                }
>> +        strcpy(temp, p);
>>   
> 
> The max length string comes back from mapLookup(locale_aliases...) is
> known (in locale_str.h) , so if we can
> give temp a minimum size when malloc, for example 64:-) then we might
> not need to update the code above

It's fairly clear that this code can be correctly written in a great
many ways, but among the correct solutions there isn't much reason to
prefer one over the other.  I will make the change you suggest if it
is needed to get the patch in.

Andrew.



More information about the core-libs-dev mailing list