From e0f4e6103031ccaab3a7821d6ad96c66b85dc9e0 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Sun, 15 Nov 2015 19:27:57 +0200 Subject: planner.c: fix 'disclaimer' pointing to stack memory In add_plan_to_notes() the 'disclaimer' is set to the temporary buffer 'buf'. By making 'buf' static, 'disclaimer' now points to a persistent buffer. Bug was reported as bad characters when printing the planner deco text. Reported-by: Stefan Fuchs Signed-off-by: Lubomir I. Ivanov Signed-off-by: Dirk Hohndel --- subsurface-core/planner.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'subsurface-core/planner.c') diff --git a/subsurface-core/planner.c b/subsurface-core/planner.c index 22d37165a..9c8b9e952 100644 --- a/subsurface-core/planner.c +++ b/subsurface-core/planner.c @@ -534,7 +534,8 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool const unsigned int sz_temp = 100000; char *buffer = (char *)malloc(sz_buffer); char *temp = (char *)malloc(sz_temp); - char buf[1000], *deco; + char *deco; + static char buf[1000]; int len, lastdepth = 0, lasttime = 0, lastsetpoint = -1, newdepth = 0, lastprintdepth = 0, lastprintsetpoint = -1; struct gasmix lastprintgasmix = {{ -1 }, { -1 }}; struct divedatapoint *dp = diveplan->dp; -- cgit v1.2.3-70-g09d2