diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-01-20 06:37:56 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-01-20 06:37:56 +0000 |
commit | ae2ab8146d88b79fb97d592fb72c44862ad620e6 (patch) | |
tree | 344989a92e40cb628798c3fe8f87fdb8dab6d6cf /epan/emem.c | |
parent | 588a24503125c0cae9aefe010c9d793cd68e6599 (diff) |
From Jakub Zawadzki:
Fix some bugs after merge.
Part of Bug:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4140
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@31586 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/emem.c')
-rw-r--r-- | epan/emem.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/epan/emem.c b/epan/emem.c index b907f55e40..56c5ccd992 100644 --- a/epan/emem.c +++ b/epan/emem.c @@ -233,11 +233,8 @@ ep_check_canary_integrity(const char* fmt, ...) if (! intense_canary_checking ) return; - here[126] = '\0'; - here[127] = '\0'; - va_start(ap,fmt); - g_vsnprintf(here, 126,fmt, ap); + g_vsnprintf(here, sizeof(here), fmt, ap); va_end(ap); for (npc = ep_packet_mem.free_list; npc != NULL; npc = npc->next) { @@ -248,12 +245,11 @@ ep_check_canary_integrity(const char* fmt, ...) /* XXX, check if canary_last is inside allocated memory? */ if (npc->canary_last == (void *) -1) - g_error("Memory corrupted"); + g_error("Per-packet memory corrupted\nbetween: %s\nand: %s", there, here); } } - strncpy(there,here,126); - + g_strlcpy(there, here, sizeof(there)); } #endif @@ -300,7 +296,7 @@ se_init_chunk(void) { se_packet_mem.free_list = NULL; se_packet_mem.used_list = NULL; - ep_packet_mem.trees = NULL; + se_packet_mem.trees = NULL; se_packet_mem.debug_use_chunks = (getenv("WIRESHARK_DEBUG_SE_NO_CHUNKS") == NULL); se_packet_mem.debug_use_canary = se_packet_mem.debug_use_chunks && (getenv("WIRESHARK_DEBUG_SE_USE_CANARY") != NULL); |