From 051c103ea176098d20ae0526f2a38a4914046fff Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 16 Oct 2016 01:31:06 +0200 Subject: [PATCH] Prevent implicit memsets --- tasks/task_database_cue.c | 5 +++-- tasks/task_decompress.c | 10 +++++++--- tasks/task_overlay.c | 21 +++++++++++++-------- tasks/task_save.c | 35 +++++++++++++++++++++++------------ 4 files changed, 46 insertions(+), 25 deletions(-) diff --git a/tasks/task_database_cue.c b/tasks/task_database_cue.c index 246377b52c..87561c2084 100644 --- a/tasks/task_database_cue.c +++ b/tasks/task_database_cue.c @@ -149,13 +149,14 @@ static int detect_ps1_game_sub(const char *track_path, uint8_t* tmp; uint8_t* boot_file; int skip, frame_size, is_mode1, cd_sector; - uint8_t buffer[2048 * 2] = {0}; + uint8_t buffer[2048 * 2]; RFILE *fp = filestream_open(track_path, RFILE_MODE_READ, -1); if (!fp) return 0; - is_mode1 = 0; + buffer[0] = '\0'; + is_mode1 = 0; filestream_seek(fp, 0, SEEK_END); if (!sub_channel_mixed) diff --git a/tasks/task_decompress.c b/tasks/task_decompress.c index 9dd38eb36a..2210ac3d54 100644 --- a/tasks/task_decompress.c +++ b/tasks/task_decompress.c @@ -42,8 +42,10 @@ static int file_decompressed_subdir(const char *name, unsigned cmode, uint32_t csize,uint32_t size, uint32_t crc32, struct archive_extract_userdata *userdata) { - char path_dir[PATH_MAX_LENGTH] = {0}; - char path[PATH_MAX_LENGTH] = {0}; + char path_dir[PATH_MAX_LENGTH]; + char path[PATH_MAX_LENGTH]; + + path_dir[0] = path[0] = '\0'; /* Ignore directories. */ if (name[strlen(name) - 1] == '/' || name[strlen(name) - 1] == '\\') @@ -251,10 +253,12 @@ bool task_push_decompress( retro_task_callback_t cb, void *user_data) { - char tmp[PATH_MAX_LENGTH] = {0}; + char tmp[PATH_MAX_LENGTH]; decompress_state_t *s = NULL; retro_task_t *t = NULL; + tmp[0] = '\0'; + if (string_is_empty(target_dir) || string_is_empty(source_file)) { RARCH_WARN("[decompress] Empty or null source file or" diff --git a/tasks/task_overlay.c b/tasks/task_overlay.c index 2a66f39b33..4b7a319e0c 100644 --- a/tasks/task_overlay.c +++ b/tasks/task_overlay.c @@ -103,13 +103,13 @@ static bool task_overlay_load_desc( float width_mod, height_mod; float tmp_float; uint32_t box_hash, key_hash; + char overlay_desc_key[64]; + char conf_key[64]; + char overlay_desc_normalized_key[64]; + char overlay[256]; bool tmp_bool = false; bool ret = true; bool by_pixel = false; - char overlay_desc_key[64] = {0}; - char conf_key[64] = {0}; - char overlay_desc_normalized_key[64] = {0}; - char overlay[256] = {0}; char *key = NULL; struct string_list *list = NULL; const char *x = NULL; @@ -117,6 +117,9 @@ static bool task_overlay_load_desc( const char *box = NULL; config_file_t *conf = loader->conf; + overlay_desc_key[0] = conf_key[0] = + overlay_desc_normalized_key[0] = overlay[0] = '\0'; + snprintf(overlay_desc_key, sizeof(overlay_desc_key), "overlay%u_desc%u", ol_idx, desc_idx); @@ -239,7 +242,9 @@ static bool task_overlay_load_desc( case OVERLAY_TYPE_ANALOG_LEFT: case OVERLAY_TYPE_ANALOG_RIGHT: { - char overlay_analog_saturate_key[64] = {0}; + char overlay_analog_saturate_key[64]; + + overlay_analog_saturate_key[0] = '\0'; if (desc->hitbox != OVERLAY_HITBOX_RADIAL) { @@ -480,10 +485,10 @@ static void task_overlay_deferred_load(retro_task_t *task) for (i = 0; i < loader->pos_increment; i++, loader->pos++) { char tmp_str[PATH_MAX_LENGTH]; + char conf_key[64]; + char overlay_full_screen_key[64]; float tmp_float = 0.0; bool tmp_bool = false; - char conf_key[64] = {0}; - char overlay_full_screen_key[64] = {0}; struct texture_image *texture_img = NULL; struct overlay_desc *overlay_desc = NULL; struct overlay *overlay = NULL; @@ -496,7 +501,7 @@ static void task_overlay_deferred_load(retro_task_t *task) break; } - tmp_str[0] = '\0'; + tmp_str[0] = conf_key[0] = overlay_full_screen_key[0] = '\0'; overlay = &loader->overlays[loader->pos]; diff --git a/tasks/task_save.c b/tasks/task_save.c index 044289ec54..7606ee07e2 100644 --- a/tasks/task_save.c +++ b/tasks/task_save.c @@ -549,7 +549,9 @@ static void task_save_handler(retro_task_t *task) if (task->cancelled || written != remaining) { - char err[PATH_MAX_LENGTH] = {0}; + char err[PATH_MAX_LENGTH]; + + err[0] = '\0'; if (state->undo_save) { @@ -571,8 +573,10 @@ static void task_save_handler(retro_task_t *task) if (state->written == state->size) { + char msg[1024]; settings_t *settings = config_get_ptr(); - char msg[1024] = {0}; + + msg[0] = '\0'; if (task->title) free(task->title); @@ -733,7 +737,10 @@ static void task_load_handler(retro_task_t *task) { if (state->autoload) { - char msg[1024] = {0}; + char msg[1024]; + + msg[0] = '\0'; + snprintf(msg, sizeof(msg), "Auto-loading savestate from \"%s\" failed.", state->path); task->error = strdup(msg); @@ -751,8 +758,10 @@ static void task_load_handler(retro_task_t *task) if (state->bytes_read == state->size) { + char msg[1024]; settings_t *settings = config_get_ptr(); - char msg[1024] = {0}; + + msg[0] = '\0'; if (task->title) free(task->title); @@ -799,16 +808,18 @@ error: static void content_load_state_cb(void *task_data, void *user_data, const char *error) { - load_task_data_t *load_data = (load_task_data_t*)task_data; + retro_ctx_serialize_info_t serial_info; unsigned i; bool ret; - ssize_t size = load_data->size; - retro_ctx_serialize_info_t serial_info; - unsigned num_blocks = 0; - void *buf = load_data->data; - struct sram_block *blocks = NULL; - settings_t *settings = config_get_ptr(); - char err_buf[1024] = {0}; + char err_buf[1024]; + load_task_data_t *load_data = (load_task_data_t*)task_data; + ssize_t size = load_data->size; + unsigned num_blocks = 0; + void *buf = load_data->data; + struct sram_block *blocks = NULL; + settings_t *settings = config_get_ptr(); + + err_buf[0] = '\0'; RARCH_LOG("%s: \"%s\".\n", msg_hash_to_str(MSG_LOADING_STATE),