diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2018-10-21 21:48:47 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-10-23 08:06:17 +0100 |
commit | 343808271c22942992f4470c05e138d8597a630b (patch) | |
tree | 61df6531dc70c03fee2bfc03e1e806f896822e50 | |
parent | 46bf8bf2fa37f1aae44241a5f7d846810041aac9 (diff) | |
download | subsurface-343808271c22942992f4470c05e138d8597a630b.tar.gz |
Core: accept NULL-pointer in free_trip() and free_divesite()
This is consistent with most other free_*() functions in the core
code and will make cleanup of parser state less verbose.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | core/divelist.c | 8 | ||||
-rw-r--r-- | core/divesite.c | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/core/divelist.c b/core/divelist.c index 0722953ae..88cf5645d 100644 --- a/core/divelist.c +++ b/core/divelist.c @@ -765,9 +765,11 @@ void insert_trip_dont_merge(dive_trip_t *dive_trip) /* free resources associated with a trip structure */ void free_trip(dive_trip_t *trip) { - free(trip->location); - free(trip->notes); - free(trip); + if (trip) { + free(trip->location); + free(trip->notes); + free(trip); + } } /* remove trip from the trip-list, but don't free its memory. diff --git a/core/divesite.c b/core/divesite.c index ea9a3ed58..ee394d9d1 100644 --- a/core/divesite.c +++ b/core/divesite.c @@ -168,11 +168,13 @@ bool is_dive_site_used(uint32_t uuid, bool select_only) void free_dive_site(struct dive_site *ds) { - free(ds->name); - free(ds->notes); - free(ds->description); - free_taxonomy(&ds->taxonomy); - free(ds); + if (ds) { + free(ds->name); + free(ds->notes); + free(ds->description); + free_taxonomy(&ds->taxonomy); + free(ds); + } } void delete_dive_site(uint32_t id) |