diff options
author | Yang Tse <yangsita@gmail.com> | 2010-02-14 13:14:17 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2010-02-14 13:14:17 +0000 |
commit | 68d83a8142e52643cc98d692dce54a49d9e2c386 (patch) | |
tree | 6f43b3dfcb3d2c9aa665fea513159d926339ea01 /tests/server/tftpd.c | |
parent | b4ff6d3007be58423a1e6b8b8aa2e038dd1b04c0 (diff) | |
download | curl-68d83a8142e52643cc98d692dce54a49d9e2c386.tar.gz |
Overhauled test suite getpart() function. Fixing potential out of bounds
stack and memory overwrites triggered with huge test case definitions.
Diffstat (limited to 'tests/server/tftpd.c')
-rw-r--r-- | tests/server/tftpd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c index 91e51cf42..152324904 100644 --- a/tests/server/tftpd.c +++ b/tests/server/tftpd.c @@ -1051,8 +1051,12 @@ static int validate_access(struct testcase *test, } else { size_t count; - test->buffer = (char *)spitout(stream, "reply", partbuf, &count); + error = getpart(&test->buffer, &count, "reply", partbuf, stream); fclose(stream); + if(error) { + logmsg("getpart() failed with error: %d", error); + return EACCESS; + } if(test->buffer) { test->rptr = test->buffer; /* set read pointer */ test->bufsize = count; /* set total count */ |