From 33137c62b05006bb2bf3925b1e504a95f356830e Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sun, 27 Oct 2019 07:28:57 -0400 Subject: Cleanup: NULL check pointer before dereferencing Found by Coverity. CID 350081, 350087, 350095 Signed-off-by: Dirk Hohndel --- core/dive.c | 7 ++++--- desktop-widgets/divelogexportdialog.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/dive.c b/core/dive.c index 20981c48c..d845d8077 100644 --- a/core/dive.c +++ b/core/dive.c @@ -3275,11 +3275,12 @@ int split_dive(const struct dive *dive, struct dive **new1, struct dive **new2) int split_dive_at_time(const struct dive *dive, duration_t time, struct dive **new1, struct dive **new2) { int i = 0; - struct sample *sample = dive->dc.sample; - *new1 = *new2 = NULL; if (!dive) return -1; + + struct sample *sample = dive->dc.sample; + *new1 = *new2 = NULL; while(sample->time.seconds < time.seconds) { ++sample; ++i; @@ -3670,7 +3671,7 @@ static void delete_divecomputer(struct dive *d, int num) struct divecomputer *pdc = &d->dc; for (i = 0; i < num - 1 && pdc; i++) pdc = pdc->next; - if (pdc->next) { + if (pdc && pdc->next) { struct divecomputer *dc = pdc->next; pdc->next = dc->next; free_dc(dc); diff --git a/desktop-widgets/divelogexportdialog.cpp b/desktop-widgets/divelogexportdialog.cpp index e44f2280d..8f192c39e 100644 --- a/desktop-widgets/divelogexportdialog.cpp +++ b/desktop-widgets/divelogexportdialog.cpp @@ -377,7 +377,7 @@ void DiveLogExportDialog::export_TeX(const char *filename, const bool selected_o dive_site *site = dive->dive_site; QRegExp ct("countrytag: (\\w+)"); QString country; - if (ct.indexIn(site->notes) >= 0) + if (site && ct.indexIn(site->notes) >= 0) country = ct.cap(1); else country = ""; -- cgit v1.2.3-70-g09d2