Ensure default dive computer strings can be freed

We don't want to directly use the strings returned to us from
libdivecomputer.

Fixes bug 34

Reported-by: Sergey Starosek <sergey.starosek@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2012-12-12 07:23:04 -08:00
parent 969ab7f121
commit 597a3677e9

View file

@ -74,8 +74,8 @@ static void set_default_dive_computer(const char *vendor, const char *product)
free((void *)default_dive_computer_vendor); free((void *)default_dive_computer_vendor);
if (default_dive_computer_product) if (default_dive_computer_product)
free((void *)default_dive_computer_product); free((void *)default_dive_computer_product);
default_dive_computer_vendor = vendor; default_dive_computer_vendor = strdup(vendor);
default_dive_computer_product = product; default_dive_computer_product = strdup(product);
subsurface_set_conf("dive_computer_vendor", PREF_STRING, vendor); subsurface_set_conf("dive_computer_vendor", PREF_STRING, vendor);
subsurface_set_conf("dive_computer_product", PREF_STRING, product); subsurface_set_conf("dive_computer_product", PREF_STRING, product);
} }