From 5b58d85186e04c6f85ea0e6bef4102de5a55bc80 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 22 Sep 2015 21:12:05 +0200 Subject: [PATCH] fix stack overflow --- TSRM/tsrm_win32.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index 9f900f2ae6e..e8ec18650ac 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -599,8 +599,10 @@ TSRM_API int shmget(int key, int size, int flags) return -1; } - sprintf(shm_segment, "TSRM_SHM_SEGMENT:%d", key); - sprintf(shm_info, "TSRM_SHM_DESCRIPTOR:%d", key); + snprintf(shm_segment, sizeof(shm_segment)-1, "TSRM_SHM_SEGMENT:%d", key); + snprintf(shm_info, sizeof(shm_info)-1, "TSRM_SHM_DESCRIPTOR:%d", key); + shm_segment[sizeof(shm_segment)-1] = '\0'; + shm_info[sizeof(shm_info)-1] = '\0'; shm_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_segment); info_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_info);