diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/remembering.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/remembering.c b/src/remembering.c index 95f08ef..f61ff01 100644 --- a/src/remembering.c +++ b/src/remembering.c @@ -253,11 +253,12 @@ static void rankings_test() { { testing("struct Rankings expands its size when needed"); struct Rankings *r = rankings_new(); + if (!r) { + exit(EXIT_FAILURE); + } size_t some_limit = RANKINGS_INITIAL_SIZE + 1; int ret; for (size_t i = 0; i < some_limit; i++) { - ret = rankings_insert(r, strdup("some string"), i); - /* char *s = strdup("some string"); ret = rankings_insert(r, s, i); if (ret) { @@ -265,7 +266,6 @@ static void rankings_test() { rankings_free(r); exit(EXIT_FAILURE); } - */ } assert(r->size == RANKINGS_INITIAL_SIZE * RANKINGS_GROWTH_MULTIPLIER); @@ -278,6 +278,9 @@ static void rankings_test() { { testing("an empty Rankings doesn't leak"); struct Rankings *r = rankings_new(); + if (!r) { + exit(EXIT_FAILURE); + } assert(r->size == RANKINGS_INITIAL_SIZE); assert(r->count == 0); @@ -300,13 +303,17 @@ int parse_ranked_line(FILE *stream, const char *entry, char **value, } int rank_strlen = value_substr - entry; - char *rank_str = malloc(rank_strlen + 1); - strncpy(rank_str, entry, rank_strlen); - rank_str[rank_strlen] = '\0'; + char *rank_str = strndup(entry, rank_strlen); + if (!rank_str) { + return -1; + } *rank = atoi(rank_str); free(rank_str); *value = malloc(strlen(value_substr) + 1); + if (!*value) { + return -1; + } strcpy(*value, entry + (rank_strlen + 1 /* RANKING_DELIMITER */)); return 0; @@ -599,7 +606,7 @@ int main(int argc, char *argv[]) { int ret; char *command; char *profile; - if (ret = get_options(argc, argv, &command, &profile)) { + if ((ret = get_options(argc, argv, &command, &profile))) { goto err; expand_profile_name("oijoI"); } |