From feae0823cec00b5829adaef60b5f4da7c4c65f2c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 17 Dec 2016 14:40:06 +0100 Subject: [PATCH] Prevent some implicit memsets --- gfx/common/win32_common.cpp | 4 +++- gfx/drivers/exynos_gfx.c | 7 +++++-- gfx/drivers/gx_gfx.c | 12 ++++++++---- gfx/drivers/omap_gfx.c | 10 ++++++---- gfx/drivers/sdl_gfx.c | 4 +++- gfx/drivers/vita2d_gfx.c | 7 +++++-- gfx/drivers_context/cgl_ctx.c | 5 +++-- gfx/drivers_context/d3d_ctx.cpp | 10 +++++++--- gfx/drivers_context/khr_display_ctx.c | 6 ++++-- gfx/drivers_context/opendingux_fbdev_ctx.c | 6 ++++-- gfx/drivers_context/ps3_ctx.c | 6 ++++-- gfx/drivers_shader/shader_hlsl.c | 4 +++- input/input_keyboard.c | 3 ++- input/input_remapping.c | 10 +++++++--- libretro-common/file/retro_dirent.c | 3 ++- libretro-common/net/net_http_parse.c | 6 ++++-- 16 files changed, 70 insertions(+), 33 deletions(-) diff --git a/gfx/common/win32_common.cpp b/gfx/common/win32_common.cpp index 990dfb3476..2179dd7d17 100644 --- a/gfx/common/win32_common.cpp +++ b/gfx/common/win32_common.cpp @@ -261,7 +261,9 @@ void win32_monitor_info(void *data, void *hm_data, unsigned *mon_id) /* Get the count of the files dropped */ static int win32_drag_query_file(HWND hwnd, WPARAM wparam) { - char szFilename[1024] = {0}; + char szFilename[1024]; + + szFilename[0] = '\0'; if (DragQueryFile((HDROP)wparam, 0xFFFFFFFF, NULL, 0)) { diff --git a/gfx/drivers/exynos_gfx.c b/gfx/drivers/exynos_gfx.c index f6fbb9c996..76c031914b 100644 --- a/gfx/drivers/exynos_gfx.c +++ b/gfx/drivers/exynos_gfx.c @@ -1306,8 +1306,11 @@ static bool exynos_gfx_frame(void *data, const void *frame, unsigned width, if (settings->fps_show) { - char buffer[128] = {0}; - char buffer_fps[128] = {0}; + char buffer[128]; + char buffer_fps[128]; + + buffer[0] = buffer_fps[0] = '\0'; + video_monitor_get_fps(buffer, sizeof(buffer), settings->fps_show ? buffer_fps : NULL, sizeof(buffer_fps)); runloop_msg_queue_push(buffer_fps, 1, 1, false); diff --git a/gfx/drivers/gx_gfx.c b/gfx/drivers/gx_gfx.c index b5981aaaa4..6231ef374c 100644 --- a/gfx/drivers/gx_gfx.c +++ b/gfx/drivers/gx_gfx.c @@ -1438,13 +1438,15 @@ static bool gx_frame(void *data, const void *frame, uint64_t frame_count, unsigned pitch, const char *msg) { + char fps_txt[128]; + char fps_text_buf[128]; static struct retro_perf_counter gx_frame = {0}; - char fps_txt[128] = {0}; - char fps_text_buf[128] = {0}; gx_video_t *gx = (gx_video_t*)data; u8 clear_efb = GX_FALSE; settings_t *settings = config_get_ptr(); + fps_txt[0] = fps_text_buf[0] = '\0'; + performance_counter_init(&gx_frame, "gx_frame"); performance_counter_start(&gx_frame); @@ -1540,11 +1542,13 @@ static bool gx_frame(void *data, const void *frame, if (settings->fps_show) { - char mem1_txt[128] = {0}; - char mem2_txt[128] = {0}; + char mem1_txt[128]; + char mem2_txt[128]; unsigned x = 15; unsigned y = 35; + mem1_txt[0] = mem2_txt[0] = '\0'; + (void)mem2_txt; gx_blit_line(gx, x, y, fps_text_buf); diff --git a/gfx/drivers/omap_gfx.c b/gfx/drivers/omap_gfx.c index 02a6a3afbb..36c5ced711 100644 --- a/gfx/drivers/omap_gfx.c +++ b/gfx/drivers/omap_gfx.c @@ -178,10 +178,12 @@ static int omapfb_detect_screen(omapfb_data_t *pdata) int i, ret; int w, h; FILE *f; - int fb_id, overlay_id = -1, display_id = -1; - char buff[64] = {0}; - char manager_name[64] = {0}; - char display_name[64] = {0}; + char buff[64]; + char manager_name[64]; + char display_name[64]; + int fb_id, overlay_id = -1, display_id = -1; + + buff[0] = manager_name[0] = display_name[0] = '\0'; /* Find out the native screen resolution, which is needed to * properly center the scaled image data. */ diff --git a/gfx/drivers/sdl_gfx.c b/gfx/drivers/sdl_gfx.c index 333f965f91..731778fa09 100644 --- a/gfx/drivers/sdl_gfx.c +++ b/gfx/drivers/sdl_gfx.c @@ -332,13 +332,15 @@ static bool sdl_gfx_frame(void *data, const void *frame, unsigned width, unsigned height, uint64_t frame_count, unsigned pitch, const char *msg) { - char buf[128] = {0}; + char buf[128]; static struct retro_perf_counter sdl_scale = {0}; sdl_video_t *vid = (sdl_video_t*)data; if (!frame) return true; + buf[0] = '\0'; + if (SDL_MUSTLOCK(vid->screen)) SDL_LockSurface(vid->screen); diff --git a/gfx/drivers/vita2d_gfx.c b/gfx/drivers/vita2d_gfx.c index 7a3ca5090a..f3be92b8b9 100644 --- a/gfx/drivers/vita2d_gfx.c +++ b/gfx/drivers/vita2d_gfx.c @@ -205,8 +205,11 @@ static bool vita2d_gfx_frame(void *data, const void *frame, if (settings->fps_show) { - char buffer[128] = {0}; - char buffer_fps[128] = {0}; + char buffer[128]; + char buffer_fps[128]; + + buffer[0] = buffer_fps[0] = '\0'; + video_monitor_get_fps(buffer, sizeof(buffer), settings->fps_show ? buffer_fps : NULL, sizeof(buffer_fps)); runloop_msg_queue_push(buffer_fps, 1, 1, false); diff --git a/gfx/drivers_context/cgl_ctx.c b/gfx/drivers_context/cgl_ctx.c index b743e9ca37..561ae87070 100644 --- a/gfx/drivers_context/cgl_ctx.c +++ b/gfx/drivers_context/cgl_ctx.c @@ -114,10 +114,11 @@ static bool gfx_ctx_cgl_set_resize(void *data, unsigned width, unsigned height) static void gfx_ctx_cgl_update_window_title(void *data) { - char buf[128] = {0}; - char buf_fps[128] = {0}; + char buf[128]; + char buf_fps[128]; settings_t *settings = config_get_ptr(); + buf[0] = buf_fps[0] = '\0'; (void)data; video_monitor_get_fps(buf, sizeof(buf), diff --git a/gfx/drivers_context/d3d_ctx.cpp b/gfx/drivers_context/d3d_ctx.cpp index d1d051fab0..bbd2ca6bdb 100644 --- a/gfx/drivers_context/d3d_ctx.cpp +++ b/gfx/drivers_context/d3d_ctx.cpp @@ -87,11 +87,13 @@ static void gfx_ctx_d3d_swap_buffers(void *data) static void gfx_ctx_d3d_update_title(void *data) { - char buf[128] = {0}; - char buffer_fps[128] = {0}; + char buf[128]; + char buffer_fps[128]; settings_t *settings = config_get_ptr(); const ui_window_t *window = ui_companion_driver_get_window_ptr(); + buf[0] = buffer_fps[0] = '\0'; + if (window && video_monitor_get_fps(buf, sizeof(buf), buffer_fps, sizeof(buffer_fps))) { @@ -104,7 +106,9 @@ static void gfx_ctx_d3d_update_title(void *data) { #ifdef _XBOX MEMORYSTATUS stat; - char mem[128] = {0}; + char mem[128]; + + mem[0] = '\0'; GlobalMemoryStatus(&stat); snprintf(mem, sizeof(mem), "|| MEM: %.2f/%.2fMB", diff --git a/gfx/drivers_context/khr_display_ctx.c b/gfx/drivers_context/khr_display_ctx.c index 6907b82d3b..f1fb5a6186 100644 --- a/gfx/drivers_context/khr_display_ctx.c +++ b/gfx/drivers_context/khr_display_ctx.c @@ -113,10 +113,12 @@ static bool gfx_ctx_khr_display_set_resize(void *data, static void gfx_ctx_khr_display_update_window_title(void *data) { - char buf[128] = {0}; - char buf_fps[128] = {0}; + char buf[128]; + char buf_fps[128]; settings_t *settings = config_get_ptr(); + buf[0] = buf_fps[0] = '\0'; + (void)data; video_monitor_get_fps(buf, sizeof(buf), diff --git a/gfx/drivers_context/opendingux_fbdev_ctx.c b/gfx/drivers_context/opendingux_fbdev_ctx.c index dddd71c372..1a7c742ddf 100644 --- a/gfx/drivers_context/opendingux_fbdev_ctx.c +++ b/gfx/drivers_context/opendingux_fbdev_ctx.c @@ -144,10 +144,12 @@ static bool gfx_ctx_opendingux_set_resize(void *data, static void gfx_ctx_opendingux_update_window_title(void *data) { - char buf[128] = {0}; - char buf_fps[128] = {0}; + char buf[128]; + char buf_fps[128]; settings_t *settings = config_get_ptr(); + buf[0] = buf_fps[0] = '\0'; + video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); if (settings->fps_show) diff --git a/gfx/drivers_context/ps3_ctx.c b/gfx/drivers_context/ps3_ctx.c index dca7efa380..e3494a23f5 100644 --- a/gfx/drivers_context/ps3_ctx.c +++ b/gfx/drivers_context/ps3_ctx.c @@ -200,10 +200,12 @@ static bool gfx_ctx_ps3_set_resize(void *data, static void gfx_ctx_ps3_update_window_title(void *data) { - char buf[128] = {0}; - char buf_fps[128] = {0}; + char buf[128]; + char buf_fps[128]; settings_t *settings = config_get_ptr(); + buf[0] = buf_fps[0] = '\0'; + (void)data; video_monitor_get_fps(buf, sizeof(buf), diff --git a/gfx/drivers_shader/shader_hlsl.c b/gfx/drivers_shader/shader_hlsl.c index 837dfb9353..6f8e471bb9 100644 --- a/gfx/drivers_shader/shader_hlsl.c +++ b/gfx/drivers_shader/shader_hlsl.c @@ -260,7 +260,9 @@ static bool hlsl_load_shader(hlsl_shader_data_t *hlsl, void *data, const char *cgp_path, unsigned i) { struct shader_program_info program_info; - char path_buf[PATH_MAX_LENGTH] = {0}; + char path_buf[PATH_MAX_LENGTH]; + + path_buf[0] = '\0'; program_info.combined = path_buf; program_info.is_file = true; diff --git a/input/input_keyboard.c b/input/input_keyboard.c index 63ac88d714..817a806c87 100644 --- a/input/input_keyboard.c +++ b/input/input_keyboard.c @@ -83,9 +83,10 @@ static void osk_update_last_codepoint(const char *word) static void osk_update_last_char(const char c) { - char array[2] = {0}; + char array[2]; array[0] = c; + array[1] = 0; osk_update_last_codepoint(array); } diff --git a/input/input_remapping.c b/input/input_remapping.c index ad4aa9735f..357b6b636d 100644 --- a/input/input_remapping.c +++ b/input/input_remapping.c @@ -101,11 +101,13 @@ bool input_remapping_save_file(const char *path) { bool ret; unsigned i, j; - char buf[PATH_MAX_LENGTH] = {0}; - char remap_file[PATH_MAX_LENGTH] = {0}; + char buf[PATH_MAX_LENGTH]; + char remap_file[PATH_MAX_LENGTH]; config_file_t *conf = NULL; settings_t *settings = config_get_ptr(); + buf[0] = remap_file[0] = '\0'; + fill_pathname_join(buf, settings->directory.input_remapping, path, sizeof(buf)); @@ -122,7 +124,7 @@ bool input_remapping_save_file(const char *path) for (i = 0; i < settings->input.max_users; i++) { - char buf[64] = {0}; + char buf[64]; char key_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}}; char key_strings[RARCH_FIRST_CUSTOM_BIND + 4][128] = { "b", "y", "select", "start", @@ -130,6 +132,8 @@ bool input_remapping_save_file(const char *path) "a", "x", "l", "r", "l2", "r2", "l3", "r3", "l_x", "l_y", "r_x", "r_y" }; + buf[0] = '\0'; + snprintf(buf, sizeof(buf), "input_player%u", i + 1); for (j = 0; j < RARCH_FIRST_CUSTOM_BIND + 4; j++) diff --git a/libretro-common/file/retro_dirent.c b/libretro-common/file/retro_dirent.c index 87b7e1bc7e..f9a4f04db4 100644 --- a/libretro-common/file/retro_dirent.c +++ b/libretro-common/file/retro_dirent.c @@ -33,7 +33,7 @@ struct RDIR *retro_opendir(const char *name) { #if defined(_WIN32) - char path_buf[1024] = {0}; + char path_buf[1024]; #endif struct RDIR *rdir = (struct RDIR*)calloc(1, sizeof(*rdir)); @@ -41,6 +41,7 @@ struct RDIR *retro_opendir(const char *name) return NULL; #if defined(_WIN32) + path_buf[0] = '\0'; snprintf(path_buf, sizeof(path_buf), "%s\\*", name); rdir->directory = FindFirstFile(path_buf, &rdir->entry); #elif defined(VITA) || defined(PSP) diff --git a/libretro-common/net/net_http_parse.c b/libretro-common/net/net_http_parse.c index f424fa90b8..a1de772e57 100644 --- a/libretro-common/net/net_http_parse.c +++ b/libretro-common/net/net_http_parse.c @@ -86,9 +86,11 @@ int string_parse_html_anchor(const char *line, char *link, char *name, #ifndef RARCH_INTERNAL int main(int argc, char *argv[]) { + char link[1024]; + char name[1024]; const char *line = "Test\n"; - char link[1024] = {0}; - char name[1024] = {0}; + + link[0] = name[0] = '\0'; string_parse_html_anchor(line, link, name, sizeof(link), sizeof(name));