diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2015-11-15 19:27:57 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-15 10:08:28 -0800 |
commit | e0f4e6103031ccaab3a7821d6ad96c66b85dc9e0 (patch) | |
tree | 59af24eb4378bfe033b267d762818dd2b5cfe034 /subsurface-core | |
parent | 3453234a3b940fbc9703dd3bdb9e89561c2cd92c (diff) | |
download | subsurface-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.c | 3 |
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; |