From cd4e28e7c804918b6e10d9e947c198259384d151 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Mon, 22 Oct 2012 20:45:59 +0200 Subject: test: Try to fetch wrong values in buffer. Reviewed-by: Andreas Schneider --- tests/unittests/torture_buffer.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/unittests/torture_buffer.c b/tests/unittests/torture_buffer.c index 8215cd4..511cdf4 100644 --- a/tests/unittests/torture_buffer.c +++ b/tests/unittests/torture_buffer.c @@ -84,12 +84,45 @@ static void torture_buffer_prepend(void **state) { } +/* + * Test the behavior of buffer_get_ssh_string with invalid data + */ +static void torture_buffer_get_ssh_string(void **state) { + ssh_buffer buffer; + int i,j,k,l; + /* some values that can go wrong */ + uint32_t values[] = {0xffffffff, 0xfffffffe, 0xfffffffc, 0xffffff00, + 0x80000000, 0x80000004, 0x7fffffff}; + char data[128]; + (void)state; + memset(data,'X',sizeof(data)); + for(i=0; i < (int)(sizeof(values)/sizeof(values[0]));++i){ + for(j=0; j< (int)sizeof(data);++j){ + for(k=1;k<5;++k){ + buffer=buffer_new(); + for(l=0;l