diff --git a/tasks/task_content.c b/tasks/task_content.c index 2acf49152f..bb2e5d798c 100644 --- a/tasks/task_content.c +++ b/tasks/task_content.c @@ -448,6 +448,7 @@ static bool content_file_init_extract( ) { unsigned i; + char *new_path = NULL; for (i = 0; i < content->size; i++) { @@ -464,12 +465,13 @@ static bool content_file_init_extract( continue; { - char *temp_content = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); - char *new_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); - const char *valid_ext = special ? + char *temp_content = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); + const char *valid_ext = special ? special->roms[i].valid_extensions : content_ctx->valid_extensions; + new_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); + temp_content[0] = new_path[0] = '\0'; strlcpy(temp_content, path,