On 02/10/18 11:13, Justin Hibbits wrote:
On Fri, Feb 9, 2018 at 7:22 PM, Ed Maste <ema...@freebsd.org> wrote:
On 9 February 2018 at 14:46, Conrad Meyer <c...@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.
Index: usr.bin/tftp/main.c
===================================================================
--- usr.bin/tftp/main.c	(revision 329104)
+++ usr.bin/tftp/main.c	(working copy)
@@ -197,6 +197,9 @@
 		el_set(el, EL_PROMPT, command_prompt);
 		el_set(el, EL_SIGNAL, 1);
 		el_source(el, NULL);
+	} else {	/* Quell GCC */
+	el = NULL;
+	hist = NULL;
 	}
 
 	if (argc > 1) {
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to