[PATCH] C undefined behavior fix

Momchil Velikov velco@fadata.bg
Wed Jan 2 02:42:00 GMT 2002


>>>>> "Florian" == Florian Weimer <fw@deneb.enyo.de> writes:

Florian> Momchil Velikov <velco@fadata.bg> writes:
>> -		strcpy(namep, RELOC("linux,phandle"));
>> +		memcpy (namep, RELOC("linux,phandle"), sizeof("linux,phandle"));

Florian> Doesn't this still trigger undefined behavior, as far as the C
Florian> standard is concerned?  It's probably a better idea to fix the linker,
Florian> so that it performs proper relocation.

Well, strictly speaking it _is_ undefined, however adding/subtracting
__PAGE_OFFSET is far too common operation and one can resonably expect
to get away with it in the _vast_ majority of cases. IMHO, it is
better to fix the particular case, which triggers the undefined
behaviour, as these cases are bound to be _very_ rare.

Regards,
-velco



More information about the Gcc mailing list