summaryrefslogtreecommitdiffstats
path: root/subsurface-core
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2015-11-15 19:27:57 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-15 10:08:28 -0800
commite0f4e6103031ccaab3a7821d6ad96c66b85dc9e0 (patch)
tree59af24eb4378bfe033b267d762818dd2b5cfe034 /subsurface-core
parent3453234a3b940fbc9703dd3bdb9e89561c2cd92c (diff)
downloadsubsurface-e0f4e6103031ccaab3a7821d6ad96c66b85dc9e0.tar.gz
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 <sfuchs@gmx.de> Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r--subsurface-core/planner.c3
1 files changed, 2 insertions, 1 deletions
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;