From: Paul Smith Date: Sun, 9 Sep 2012 21:31:20 +0000 (+0000) Subject: Fix stupid wrong-pointer error handling target vars containing semicolons. X-Git-Tag: moved-to-git~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a0d46468ab12ee2ba920657ac1e76e2946acea2;p=thirdparty%2Fmake.git Fix stupid wrong-pointer error handling target vars containing semicolons. Fixes Savannah bug #36106. --- diff --git a/ChangeLog b/ChangeLog index 94e4aabe..261be309 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ * read.c (eval): If we detect an initial UTF-8 BOM, skip it. Fixes Savannah bug #36529. (record_target_var): Remove unused variable "fname". + (eval): Use the correct pointer when adding to the variable buffer. + Fixes Savannah bug #36106. 2012-09-09 Eli Zaretskii diff --git a/read.c b/read.c index b28c66fb..677c2333 100644 --- a/read.c +++ b/read.c @@ -1078,12 +1078,12 @@ eval (struct ebuffer *ebuf, int set_default) after it. */ if (semip) { - unsigned int l = p - variable_buffer; + unsigned int l = p2 - variable_buffer; *(--semip) = ';'; collapse_continuations (semip); variable_buffer_output (p2 + strlen (p2), semip, strlen (semip)+1); - p = variable_buffer + l; + p2 = variable_buffer + l; } record_target_var (filenames, p2, vmod.override_v ? o_override : o_file,