From 2db3851430c0b56e6f7b1e096d694a5980b8006e Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Fri, 9 Sep 2016 05:55:16 +0000 Subject: [PATCH] - Fix #831: workaround for spurious fread_chk warning against petal.c git-svn-id: file:///svn/unbound/trunk@3851 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 3 +++ testcode/petal.c | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index 92b9e0c81..818b4a8a8 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +9 September 2016: Wouter + - Fix #831: workaround for spurious fread_chk warning against petal.c + 5 September 2016: Ralph - Take configured minimum TTL into consideration when reducing TTL to original TTL from RRSIG. diff --git a/testcode/petal.c b/testcode/petal.c index def0f5e25..be8f3bde0 100644 --- a/testcode/petal.c +++ b/testcode/petal.c @@ -429,6 +429,7 @@ static void provide_file_chunked(SSL* ssl, char* fname) { char buf[16384]; + char* tmpbuf = NULL; char* at = buf; size_t avail = sizeof(buf); size_t r; @@ -471,9 +472,13 @@ provide_file_chunked(SSL* ssl, char* fname) } do { - char tmpbuf[sizeof(buf)]; + size_t red; + free(tmpbuf); + tmpbuf = malloc(avail-16); + if(!tmpbuf) + break; /* read chunk; space-16 for xxxxCRLF..CRLF0CRLFCRLF (3 spare)*/ - size_t red = in?fread(tmpbuf, 1, avail-16, in):0; + red = in?fread(tmpbuf, 1, avail-16, in):0; /* prepare chunk */ snprintf(at, avail, "%x\r\n", (unsigned)red); r = strlen(at); @@ -514,6 +519,7 @@ provide_file_chunked(SSL* ssl, char* fname) avail = sizeof(buf); } while(in && !feof(in) && !ferror(in)); + free(tmpbuf); if(in) fclose(in); }