summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2021-03-22 16:53:57 (EDT)
committer P. J. McDermott <pj@pehjota.net>2021-03-22 16:53:57 (EDT)
commita6058a0a36c6e1e50af9fa6c850d380194c8d925 (patch)
tree05e9d9d495f16672edba17c3517cb788915bf31b
parent7621190b3e57bedd3cf4bd9bf23f793d0a3e401b (diff)
downloaddodge-balls-a6058a0a36c6e1e50af9fa6c850d380194c8d925.zip
dodge-balls-a6058a0a36c6e1e50af9fa6c850d380194c8d925.tar.gz
dodge-balls-a6058a0a36c6e1e50af9fa6c850d380194c8d925.tar.bz2
db_level_new(): Check strdup() return values
-rw-r--r--src/level.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/level.c b/src/level.c
index b68c85f..7349e23 100644
--- a/src/level.c
+++ b/src/level.c
@@ -40,8 +40,20 @@ db_level_new(const char *game_id, const char *level_id, struct db_level *prev)
return NULL;
}
- level->game_id = strdup(game_id);
+ level->game_id = strdup(game_id);
+ if (level->game_id == NULL) {
+ db_err("Failed to allocate memory");
+ free(level);
+ return NULL;
+ }
+
level->level_id = strdup(level_id);
+ if (level->level_id == NULL) {
+ db_err("Failed to allocate memory");
+ free(level->game_id);
+ free(level);
+ return NULL;
+ }
if (prev != NULL) {
prev->next = level;