From a4966aaae343a03c39a1b5ed368b6b05ba8f5ca5 Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Wed, 22 Jan 2025 12:07:02 +0100 Subject: [PATCH] Fix: Add null checks for guess_option - Added null checks to case_insensitive_compare in cmp_io.c --- programs/cmp_io.c | 6 ++++++ programs/cmp_tool.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/programs/cmp_io.c b/programs/cmp_io.c index ba6413e..32eb996 100644 --- a/programs/cmp_io.c +++ b/programs/cmp_io.c @@ -501,6 +501,12 @@ int case_insensitive_compare(const char *s1, const char *s2) { size_t i; + if(s1 == NULL) + abort(); + + if(s2 == NULL) + abort(); + for (i = 0; ; ++i) { unsigned int x1 = (unsigned char)s1[i]; unsigned int x2 = (unsigned char)s2[i]; diff --git a/programs/cmp_tool.c b/programs/cmp_tool.c index 89df5ec..20e2fb9 100644 --- a/programs/cmp_tool.c +++ b/programs/cmp_tool.c @@ -650,7 +650,7 @@ static int guess_cmp_pars(struct rdcu_cfg *rcfg, struct cmp_par *chunk_par, printf("Search for a good set of compression parameters (level: %d) ... ", guess_level); fflush(stdout); - if (!case_insensitive_compare(guess_option, "rdcu")) { + if (guess_option && !case_insensitive_compare(guess_option, "rdcu")) { if (add_rdcu_pars) data_type = DATA_TYPE_IMAGETTE_ADAPTIVE; else @@ -659,7 +659,7 @@ static int guess_cmp_pars(struct rdcu_cfg *rcfg, struct cmp_par *chunk_par, rcfg->cmp_mode = CMP_GUESS_DEF_MODE_MODEL; else rcfg->cmp_mode = CMP_GUESS_DEF_MODE_DIFF; - } else if (!case_insensitive_compare(guess_option, "chunk")) { + } else if (guess_option && !case_insensitive_compare(guess_option, "chunk")) { data_type = DATA_TYPE_CHUNK; } else { data_type = DATA_TYPE_IMAGETTE; -- GitLab