From 8a0d46468ab12ee2ba920657ac1e76e2946acea2 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 9 Sep 2012 21:31:20 +0000 Subject: Fix stupid wrong-pointer error handling target vars containing semicolons. Fixes Savannah bug #36106. --- ChangeLog | 2 ++ read.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 94e4aab..261be30 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 b28c66f..677c233 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, -- cgit v1.2.3