diff --git a/programs/cmp_io.c b/programs/cmp_io.c index ba6413e53c9e8d4006b26c9c9f44825ebeee102e..32eb9967aebdcbaf3a8124cf5ac34ccb8524bf1a 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 89df5ec22bc6a7f35235002bd16c3184c08e8c9b..20e2fb90bb8b218e345c860b82f95512b47205ca 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;