From http://seclists.org/oss-sec/2014/q3/495 (with whitespace corrected). --- a/src/formisc.c 2013-08-04 00:13:33.000000000 -0700 +++ b/src/formisc.c 2014-09-03 11:42:25.986002396 -0700 @@ -84,12 +84,11 @@ case '"':*target++=delim='"';start++; } ;{ int i; - do + while(*start) if((i= *target++= *start++)==delim) /* corresponding delimiter? */ break; else if(i=='\\'&&*start) /* skip quoted character */ *target++= *start++; - while(*start); /* anything? */ } hitspc=2; }