From d81df0dd198221ddec4571874507264ace8e21f3 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 20 Apr 2020 21:12:54 +0200 Subject: profile: avoid invalid accesses in setup_gas_sensor_pressure Since we removed MAX_CYLINDERS, we have the possibility of dives with no cylinders. In such a case, setup_gas_sensor_pressure() would do invalid read- and write-accesses. Therefore, return early in such a case. Reported-by: Chirana Gheorghita Eugeniu Theodor Signed-off-by: Berthold Stoeger --- core/profile.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'core') diff --git a/core/profile.c b/core/profile.c index 109ec4508..efcfe45a4 100644 --- a/core/profile.c +++ b/core/profile.c @@ -844,6 +844,10 @@ static void setup_gas_sensor_pressure(const struct dive *dive, const struct dive { int prev, i; const struct event *ev; + + if (pi->nr_cylinders == 0) + return; + int *seen = malloc(pi->nr_cylinders * sizeof(*seen)); int *first = malloc(pi->nr_cylinders * sizeof(*first)); int *last = malloc(pi->nr_cylinders * sizeof(*last)); -- cgit v1.2.3-70-g09d2