changeset 20639:d6124d30333c

lib,lib-test: stop calling memcmp and memcpy with NULL in tests
author Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
date Mon, 25 Jul 2016 10:24:44 +0300
parents 80642113d69a
children 9f7806638fa3
files src/lib-test/test-common.c src/lib/test-istream-base64-decoder.c src/lib/test-istream-crlf.c
diffstat 3 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-test/test-common.c	Mon Jul 25 10:21:43 2016 +0300
+++ b/src/lib-test/test-common.c	Mon Jul 25 10:24:44 2016 +0300
@@ -72,8 +72,10 @@
 			stream->buffer = stream->w_buffer;
 			stream->buffer_size = cur_max;
 		}
-		memcpy(stream->w_buffer + new_skip_diff, tstream->orig_buffer,
-		       cur_max - new_skip_diff);
+		ssize_t size = cur_max - new_skip_diff;
+		if (size > 0)
+			memcpy(stream->w_buffer + new_skip_diff,
+				tstream->orig_buffer, (size_t)size);
 
 		ret = cur_max - stream->pos;
 		stream->pos = cur_max;
--- a/src/lib/test-istream-base64-decoder.c	Mon Jul 25 10:21:43 2016 +0300
+++ b/src/lib/test-istream-base64-decoder.c	Mon Jul 25 10:24:44 2016 +0300
@@ -43,7 +43,9 @@
 		    (input->stream_errno == EINVAL && broken_input));
 
 	data = i_stream_get_data(input, &size);
-	test_assert(size == strlen(output) && memcmp(data, output, size) == 0);
+	test_assert(size == strlen(output));
+	if (size > 0)
+		test_assert(memcmp(data, output, size) == 0);
 	i_stream_unref(&input);
 	i_stream_unref(&input_data);
 }
--- a/src/lib/test-istream-crlf.c	Mon Jul 25 10:21:43 2016 +0300
+++ b/src/lib/test-istream-crlf.c	Mon Jul 25 10:24:44 2016 +0300
@@ -66,7 +66,9 @@
 				test_assert(pos + (unsigned int)ret1 == size);
 				pos += ret1;
 			}
-			test_assert_idx(memcmp(data, str_data(output), size) == 0, j*10000+i);
+			if (size > 0)
+				test_assert_idx(memcmp(data, str_data(output),
+							size) == 0, j*10000+i);
 		}
 		test_assert_idx(size == str_len(output), j*10000+i);
 		i_stream_unref(&crlf_istream);