Группа :: Сети/Прочее
Пакет: tcpreplay
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: 0001-fix-buffer_overflow.patch
Скачать
Скачать
From a68cee4eca1e9f30b7227f4721ccadbf34bea83a Mon Sep 17 00:00:00 2001
From: Boris Savelev <boris@altlinux.org>
Date: Mon, 20 Jul 2009 16:43:36 +0400
Subject: [PATCH] fix buffer_overflow
---
tcpreplay/src/common/cache.c | 2 +-
tcpreplay/src/common/cidr.c | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/tcpreplay/src/common/cache.c b/tcpreplay/src/common/cache.c
index f527e82..1ff9e9e 100644
--- a/tcpreplay/src/common/cache.c
+++ b/tcpreplay/src/common/cache.c
@@ -170,7 +170,7 @@ write_cache(tcpr_cache_t * cachedata, const int out_file, COUNTER numpackets,
cache_header = (tcpr_cache_file_hdr_t *)
safe_malloc(sizeof(tcpr_cache_file_hdr_t));
strncpy(cache_header->magic, CACHEMAGIC, strlen(CACHEMAGIC));
- strncpy(cache_header->version, CACHEVERSION, strlen(CACHEMAGIC));
+ strncpy(cache_header->version, CACHEVERSION, strlen(CACHEVERSION));
cache_header->packets_per_byte = htons(CACHE_PACKETS_PER_BYTE);
cache_header->num_packets = htonll((u_int64_t)numpackets);
diff --git a/tcpreplay/src/common/cidr.c b/tcpreplay/src/common/cidr.c
index 7d96368..dca5b5c 100644
--- a/tcpreplay/src/common/cidr.c
+++ b/tcpreplay/src/common/cidr.c
@@ -480,6 +480,7 @@ cidr2iplist(tcpr_cidr_t * cidr, char delim)
{
char *list = NULL;
char ipaddr[16];
+ char ipaddr_17[17];
u_int32_t size, addr, first, last, numips;
struct in_addr in;
@@ -506,9 +507,9 @@ cidr2iplist(tcpr_cidr_t * cidr, char delim)
/* loop through all but the last one */
for (addr = first; addr < last; addr++) {
in.s_addr = htonl(addr);
- snprintf(ipaddr, 17, "%s%c", inet_ntoa(in), delim);
- dbgx(2, "%s", ipaddr);
- strlcat(list, ipaddr, size);
+ snprintf(ipaddr_17, 17, "%s%c", inet_ntoa(in), delim);
+ dbgx(2, "%s", ipaddr_17);
+ strlcat(list, ipaddr_17, size);
}
/* last is a special case, end in \0 */
--
1.6.3.3