aboutsummaryrefslogtreecommitdiff
path: root/tests/server/tftpd.c
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2010-02-14 13:14:17 +0000
committerYang Tse <yangsita@gmail.com>2010-02-14 13:14:17 +0000
commit68d83a8142e52643cc98d692dce54a49d9e2c386 (patch)
tree6f43b3dfcb3d2c9aa665fea513159d926339ea01 /tests/server/tftpd.c
parentb4ff6d3007be58423a1e6b8b8aa2e038dd1b04c0 (diff)
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.c6
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 */