svn commit: r329077 - head/usr.bin/tftp

Conrad Meyer cem at freebsd.org
Sat Feb 10 19:42:14 UTC 2018


Nah, both sets of warnings are spurious.  The first set is arguably
not a compiler bug, just lack of omniscience.  The variables are never
actually used uninitialized in the !interactive case.  The second set
is pure bug.  Justin found the workaround (same as before this change)
and has applied it.  Thanks, Justin.

Best,
Conrad

On Sat, Feb 10, 2018 at 9:10 AM, Pedro Giffuni <pfg at freebsd.org> wrote:
>
>
> On 02/10/18 11:13, Justin Hibbits wrote:
>>
>> On Fri, Feb 9, 2018 at 7:22 PM, Ed Maste <emaste at freebsd.org> wrote:
>>>
>>> On 9 February 2018 at 14:46, Conrad Meyer <cem at freebsd.org> wrote:
>>>>
>>>> Author: cem
>>>> Date: Fri Feb  9 19:46:51 2018
>>>> New Revision: 329077
>>>> URL: https://svnweb.freebsd.org/changeset/base/329077
>>>>
>>>> Log:
>>>>    tftp(1): Fix libedit state corruption involving signals
>>>
>>>  From https://ci.freebsd.org/job/FreeBSD-head-mips-build/391/console:
>>>
>>> 01:15:24 --- all_subdir_usr.bin/tftp ---
>>> 01:15:24 --- main.o ---
>>> 01:15:24 cc1: warnings being treated as errors
>>> 01:15:24 /usr/src/usr.bin/tftp/main.c: In function 'main':
>>> 01:15:24 /usr/src/usr.bin/tftp/main.c:182: warning: 'hist' may be used
>>> uninitialized in this function
>>> 01:15:24 /usr/src/usr.bin/tftp/main.c:181: warning: 'el' may be used
>>> uninitialized in this function
>>>
>> After initializing these, I see the following interesting error:
>>
>> /home/chmeee/freebsd/head/usr.bin/tftp/main.c:181: warning: variable
>> 'el' might be clobbered by 'longjmp' or 'vfork'
>> /home/chmeee/freebsd/head/usr.bin/tftp/main.c:182: warning: variable
>> 'hist' might be clobbered by 'longjmp' or 'vfork'
>>
>> This appears to be a known bug in gcc, at
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24239 so I don't know
>> what the best way to fix it is.
>
>
> Independent of the compiler bug, it does seem like 'el' and 'hist' can be
> used uninitialized for the non-interactive case.
>
> Untested, but perhaps an only-when-needed initialization like this may
> workaround the compiler bug.
>
> Cheers,
>
> Pedro.


More information about the svn-src-head mailing list