summaryrefslogtreecommitdiff
path: root/test/regress_buffer.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-01-08 11:51:22 -0500
committerNick Mathewson <nickm@torproject.org>2014-01-08 11:51:22 -0500
commit867f401f9bdb5d0f1dae6d5d7b96719ca0ef7600 (patch)
tree6e1318f525dd2ee47ca25a71c515c21b0adb7724 /test/regress_buffer.c
parent8d15f57f616bf23c6b20249f1f8777c36b939f40 (diff)
downloadlibevent-867f401f9bdb5d0f1dae6d5d7b96719ca0ef7600.tar.gz
Fix a pile of coverity warnings in the unit tests
Most of these problems can only trigger when the tests fail, but it's good hygiene to keep the code warning-free in any case.
Diffstat (limited to 'test/regress_buffer.c')
-rw-r--r--test/regress_buffer.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/test/regress_buffer.c b/test/regress_buffer.c
index ab11de94..3be55748 100644
--- a/test/regress_buffer.c
+++ b/test/regress_buffer.c
@@ -888,7 +888,7 @@ test_evbuffer_file_segment_add_cleanup_cb(void* ptr)
char *tmpfilename = NULL;
int fd = -1;
struct evbuffer *evb = NULL;
- struct evbuffer_file_segment *seg = NULL;
+ struct evbuffer_file_segment *seg = NULL, *segptr;
char const* arg = "token";
fd = regress_make_tmpfile("file_segment_test_file", 22, &tmpfilename);
@@ -897,7 +897,7 @@ test_evbuffer_file_segment_add_cleanup_cb(void* ptr)
evb = evbuffer_new();
tt_assert(evb);
- seg = evbuffer_file_segment_new(fd, 0, -1, 0);
+ segptr = seg = evbuffer_file_segment_new(fd, 0, -1, 0);
tt_assert(seg);
evbuffer_file_segment_add_cleanup_cb(
@@ -906,29 +906,27 @@ test_evbuffer_file_segment_add_cleanup_cb(void* ptr)
tt_assert(fd != -1);
tt_assert(evbuffer_add_file_segment(evb, seg, 0, -1)!=-1);
-
+
evbuffer_validate(evb);
tt_int_op(file_segment_cleanup_cb_called_count, ==, 0);
evbuffer_file_segment_free(seg);
+ seg = NULL; /* Prevent double-free. */
tt_int_op(file_segment_cleanup_cb_called_count, ==, 0);
evbuffer_free(evb);
-
+ evb = NULL; /* pevent double-free */
+
tt_int_op(file_segment_cleanup_cb_called_count, ==, 1);
- tt_assert(file_segment_cleanup_cb_called_with == seg);
+ tt_assert(file_segment_cleanup_cb_called_with == segptr);
tt_assert(file_segment_cleanup_cb_called_with_flags == 0);
tt_assert(file_segment_cleanup_cb_called_with_arg == (void*)arg);
-
- seg = NULL;
- evb = NULL;
end:
-
- if(evb)
- evbuffer_free(evb);
- if(seg)
- evbuffer_file_segment_free(seg);
+ if (evb)
+ evbuffer_free(evb);
+ if (seg)
+ evbuffer_file_segment_free(seg);
if (tmpfilename) {
unlink(tmpfilename);
free(tmpfilename);
@@ -1810,6 +1808,7 @@ test_evbuffer_prepend(void *ptr)
evbuffer_prepend(buf1, "It is no longer true to say ", 28);
evbuffer_validate(buf1);
n = evbuffer_remove(buf1, tmp, sizeof(tmp)-1);
+ tt_int_op(n, >=, 0);
tmp[n]='\0';
tt_str_op(tmp,==,"It is no longer true to say it has 29 characters");