From 08503a20be606968ef116b1b95f9c24a05762cb0 Mon Sep 17 00:00:00 2001 From: rajithr Date: Wed, 27 May 2015 19:06:19 +0530 Subject: [PATCH] Protection against possible buffer overflow --- core/net/packetbuf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/net/packetbuf.c b/core/net/packetbuf.c index 217f40bc2..20bfebe80 100644 --- a/core/net/packetbuf.c +++ b/core/net/packetbuf.c @@ -141,6 +141,7 @@ packetbuf_copyto(void *to) int i; char buffer[1000]; char *bufferptr = buffer; + int bufferlen = 0; bufferptr[0] = 0; for(i = hdrptr; i < PACKETBUF_HDR_SIZE; ++i) { @@ -149,8 +150,8 @@ packetbuf_copyto(void *to) PRINTF("packetbuf_write: header: %s\n", buffer); bufferptr = buffer; bufferptr[0] = 0; - for(i = bufptr; i < buflen + bufptr; ++i) { - bufferptr += sprintf(bufferptr, "0x%02x, ", packetbufptr[i]); + for(i = bufptr; ((i < buflen + bufptr) && (bufferlen < 980)); ++i) { + bufferlen += sprintf(bufferptr + bufferlen, "0x%02x, ", packetbufptr[i]); } PRINTF("packetbuf_write: data: %s\n", buffer); }