Josip Rodin writes: > On Tue, Oct 17, 2006 at 02:34:27PM -0700, Debian Bug Tracking System wrote: > > Processing commands for [EMAIL PROTECTED]: > > > > > tags 392077 + patch > > Bug#392077: joe: execmd with empty command results in SEGV > > There were no tags set. > > Bug#392304: joe: yet another segfault: alt/x enter segfault(loss of data) > > Tags added: patch > > On Tue, Oct 17, 2006 at 16:25:52 -0500, Kevin Glynn wrote: > > The attached patch to joe 3.5-1 just treats a blank command string > > (i.e. empty or all whitespace) as an unknown command. > > Kevin, please Cc: the bug address when adding stuff, otherwise your mail is > relegated to a footnote in the bug log. >
Sorry, first time I tried to add a patch. > I wonder, however, why this isn't handled by those bits: > > /* Do we have a command? */ > [...] > if (!cmd) { > *sta = -1; > return NULL; > I believe we skip over this last statement because we are already at the end of the buffer. The for loop finishes immediately and y still equals x: /* Do we have a command? */ else { for (y = x; buf[y] && buf[y]!='#' && buf[y] != '!' && buf[y] != '~' && buf[y] !='-' && buf[y] != ',' && buf[y] != ' ' && buf[y] != '\t' && buf[y] != '\n' && buf[x] != '\r'; ++y) ; if (y != x) { [...] if (!cmd) { *sta = -1; return NULL; regards Kevin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]