From 343808271c22942992f4470c05e138d8597a630b Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 21 Oct 2018 21:48:47 +0200 Subject: 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 --- core/divelist.c | 8 +++++--- core/divesite.c | 12 +++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'core') 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) -- cgit v1.2.3-70-g09d2