Subsurface-mobile 1.0.5 (4.5.2.1569) crashes
Linus Torvalds
torvalds at linux-foundation.org
Tue Sep 20 09:10:02 PDT 2016
On Tue, Sep 20, 2016 at 9:05 AM, Linus Torvalds
<torvalds at linux-foundation.org> wrote:
>
> In all *normal* situations, dc->model is non-NULL, but I think we
> *can* have a NULL model for a dive that was added manually.
Maybe something like this. You probably already did the dc_match_serial() part.
Linus
-------------- next part --------------
core/device.c | 2 +-
core/libdivecomputer.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/device.c b/core/device.c
index dde758dc831d..86c30dbd97e0 100644
--- a/core/device.c
+++ b/core/device.c
@@ -193,7 +193,7 @@ static void match_id(void *_dc, const char *model, uint32_t deviceid,
if (dc->deviceid != deviceid)
return;
- if (strcmp(dc->model, model))
+ if (!model || !dc->model || strcmp(dc->model, model))
return;
if (serial && !dc->serial)
diff --git a/core/libdivecomputer.c b/core/libdivecomputer.c
index e8cfb3521de7..94fc63f764e5 100644
--- a/core/libdivecomputer.c
+++ b/core/libdivecomputer.c
@@ -493,9 +493,9 @@ static void dc_match_serial(void *_dc, const char *model, uint32_t deviceid, con
if (!deviceid)
return;
- if (!model || strcasecmp(dc->model, model))
+ if (!model || !dc->model || strcasecmp(dc->model, model))
return;
- if (!serial || strcasecmp(dc->serial, serial))
+ if (!serial || !dc->serial strcasecmp(dc->serial, serial))
return;
dc->deviceid = deviceid;
}
More information about the subsurface
mailing list