Prevent garbage from being saved in the userid field

It seems that in some scenarios we end up with a string that isn't NUL
terminated and that results in garbage being stored as userid. This patch
is a little brute force but it fixes the problem even if a previous
version os Subsurface ended up adding other text to the end of the userid.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-11-20 14:30:44 -08:00
parent 21675de534
commit 2f7a7f3e6a
3 changed files with 4 additions and 2 deletions

View file

@ -520,7 +520,7 @@ void save_dives_buffer(struct membuffer *b, const bool select_only)
put_format(b, "<divelog program='subsurface' version='%d'>\n<settings>\n", VERSION);
if (prefs.save_userid_local)
put_format(b, " <userid>%s</userid>\n", prefs.userid);
put_format(b, " <userid>%30s</userid>\n", prefs.userid);
/* save the dive computer nicknames, if any */
call_for_each_dc(b, save_one_device);