From 45b727f651aba2cbd2f9db51ccfb4b541520a5de Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 11 Apr 2013 17:07:50 +1000 Subject: [PATCH] silence coverity warnings --- bin/named/unix/dlz_dlopen_driver.c | 10 ++++++---- bin/tests/db_test.c | 5 +++-- bin/tests/shutdown_test.c | 8 ++++++-- bin/tests/sock_test.c | 8 ++++++-- bin/tests/task_test.c | 8 ++++++-- bin/tests/timer_test.c | 8 ++++++-- lib/dns/client.c | 10 ++++++---- lib/irs/getaddrinfo.c | 11 ++++++----- lib/isc/mem.c | 2 +- lib/isc/tests/socket_test.c | 8 ++++++-- 10 files changed, 52 insertions(+), 26 deletions(-) diff --git a/bin/named/unix/dlz_dlopen_driver.c b/bin/named/unix/dlz_dlopen_driver.c index 77c10239f8..9b0f66cb38 100644 --- a/bin/named/unix/dlz_dlopen_driver.c +++ b/bin/named/unix/dlz_dlopen_driver.c @@ -254,7 +254,9 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], } /* Initialize the lock */ - isc_mutex_init(&cd->lock); + result = isc_mutex_init(&cd->lock); + if (result != ISC_R_SUCCESS) + goto failed; /* Open the library */ dlopen_flags = RTLD_NOW|RTLD_GLOBAL; @@ -361,11 +363,11 @@ dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[], failed: dlopen_log(ISC_LOG_ERROR, "dlz_dlopen of '%s' failed", dlzname); - if (cd->dl_path) + if (cd->dl_path != NULL) isc_mem_free(mctx, cd->dl_path); - if (cd->dlzname) + if (cd->dlzname != NULL) isc_mem_free(mctx, cd->dlzname); - if (dlopen_flags) + if (dlopen_flags != 0) (void) isc_mutex_destroy(&cd->lock); #ifdef HAVE_DLCLOSE if (cd->dl_handle) diff --git a/bin/tests/db_test.c b/bin/tests/db_test.c index d72bf4f313..4024bc59f7 100644 --- a/bin/tests/db_test.c +++ b/bin/tests/db_test.c @@ -610,10 +610,11 @@ main(int argc, char *argv[]) { } else if (strstr(s, "!V") == s) { DBI_CHECK(dbi); v = atoi(&s[2]); - if (v >= dbi->rcount) { + if (v >= dbi->rcount || v < 0) { printf("unknown open version %d\n", v); continue; - } else if (dbi->rversions[v] == NULL) { + } + if (dbi->rversions[v] == NULL) { printf("version %d is not open\n", v); continue; } diff --git a/bin/tests/shutdown_test.c b/bin/tests/shutdown_test.c index 32ad5fed9c..91bb0477f6 100644 --- a/bin/tests/shutdown_test.c +++ b/bin/tests/shutdown_test.c @@ -174,9 +174,13 @@ main(int argc, char *argv[]) { RUNTIME_CHECK(isc_app_start() == ISC_R_SUCCESS); - if (argc > 1) + if (argc > 1) { workers = atoi(argv[1]); - else + if (workers < 1) + workers = 1; + if (workers > 8192) + workers = 8192; + } else workers = 2; printf("%d workers\n", workers); diff --git a/bin/tests/sock_test.c b/bin/tests/sock_test.c index 8f33a7ed49..f6d2a39222 100644 --- a/bin/tests/sock_test.c +++ b/bin/tests/sock_test.c @@ -263,9 +263,13 @@ main(int argc, char *argv[]) { isc_result_t result; int pf; - if (argc > 1) + if (argc > 1) { workers = atoi(argv[1]); - else + if (workers < 1) + workers = 1; + if (workers > 8192) + workers = 8192; + } else workers = 2; printf("%d workers\n", workers); diff --git a/bin/tests/task_test.c b/bin/tests/task_test.c index e3ff26b56c..2e162b6d1e 100644 --- a/bin/tests/task_test.c +++ b/bin/tests/task_test.c @@ -69,9 +69,13 @@ main(int argc, char *argv[]) { isc_timer_t *ti1, *ti2; struct isc_interval interval; - if (argc > 1) + if (argc > 1) { workers = atoi(argv[1]); - else + if (workers < 1) + workers = 1; + if (workers > 8192) + workers = 8192; + } else workers = 2; printf("%d workers\n", workers); diff --git a/bin/tests/timer_test.c b/bin/tests/timer_test.c index 2825dc58e9..cb5459ccf2 100644 --- a/bin/tests/timer_test.c +++ b/bin/tests/timer_test.c @@ -102,9 +102,13 @@ main(int argc, char *argv[]) { isc_time_t expires, now; isc_interval_t interval; - if (argc > 1) + if (argc > 1) { workers = atoi(argv[1]); - else + if (workers < 1) + workers = 1; + if (workers > 8192) + workers = 8192; + } else workers = 2; printf("%d workers\n", workers); diff --git a/lib/dns/client.c b/lib/dns/client.c index 4952c40bfb..182ae21afe 100644 --- a/lib/dns/client.c +++ b/lib/dns/client.c @@ -2018,8 +2018,9 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) { switch (family) { case AF_INET: dns_rdataset_current(rdataset, &rdata); - dns_rdata_tostruct(&rdata, &rdata_a, - NULL); + result = dns_rdata_tostruct(&rdata, &rdata_a, + NULL); + RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_sockaddr_fromin(sa, &rdata_a.in_addr, 53); @@ -2027,8 +2028,9 @@ resolveaddr_done(isc_task_t *task, isc_event_t *event) { break; case AF_INET6: dns_rdataset_current(rdataset, &rdata); - dns_rdata_tostruct(&rdata, &rdata_aaaa, - NULL); + result = dns_rdata_tostruct(&rdata, &rdata_aaaa, + NULL); + RUNTIME_CHECK(result == ISC_R_SUCCESS); isc_sockaddr_fromin6(sa, &rdata_aaaa.in6_addr, 53); diff --git a/lib/irs/getaddrinfo.c b/lib/irs/getaddrinfo.c index 4e86706fe5..fc62da12ac 100644 --- a/lib/irs/getaddrinfo.c +++ b/lib/irs/getaddrinfo.c @@ -784,9 +784,9 @@ process_answer(isc_task_t *task, isc_event_t *event) { switch (family) { case AF_INET: dns_rdataset_current(rdataset, &rdata); - dns_rdata_tostruct(&rdata, &rdata_a, - NULL); - + result = dns_rdata_tostruct(&rdata, &rdata_a, + NULL); + RUNTIME_CHECK(result == ISC_R_SUCCESS); SIN(ai->ai_addr)->sin_port = resstate->head->ai_port; memcpy(&SIN(ai->ai_addr)->sin_addr, @@ -795,8 +795,9 @@ process_answer(isc_task_t *task, isc_event_t *event) { break; case AF_INET6: dns_rdataset_current(rdataset, &rdata); - dns_rdata_tostruct(&rdata, &rdata_aaaa, - NULL); + result = dns_rdata_tostruct(&rdata, &rdata_aaaa, + NULL); + RUNTIME_CHECK(result == ISC_R_SUCCESS); SIN6(ai->ai_addr)->sin6_port = resstate->head->ai_port; memcpy(&SIN6(ai->ai_addr)->sin6_addr, diff --git a/lib/isc/mem.c b/lib/isc/mem.c index a361768319..51a9826df3 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -1826,7 +1826,7 @@ isc_mem_getname(isc_mem_t *ctx0) { REQUIRE(VALID_CONTEXT(ctx)); - if (ctx->name == NULL) + if (ctx->name[0] == 0) return (""); return (ctx->name); diff --git a/lib/isc/tests/socket_test.c b/lib/isc/tests/socket_test.c index e41f8e2be4..615e1c8aa7 100644 --- a/lib/isc/tests/socket_test.c +++ b/lib/isc/tests/socket_test.c @@ -427,6 +427,7 @@ ATF_TC_BODY(udp_dscp_v6, tc) { completion_t completion; isc_region_t r; isc_socketevent_t *socketevent; + int n; UNUSED(tc); @@ -437,7 +438,8 @@ ATF_TC_BODY(udp_dscp_v6, tc) { * Create two sockets: ::1/5444 and ::1/5445, talking to * each other. */ - inet_pton(AF_INET6, "::1", &in6.s6_addr); + n = inet_pton(AF_INET6, "::1", &in6.s6_addr); + ATF_REQUIRE(n == 1); isc_sockaddr_fromin6(&addr1, &in6, 5444); isc_sockaddr_fromin6(&addr2, &in6, 5445); @@ -620,6 +622,7 @@ ATF_TC_BODY(tcp_dscp_v6, tc) { char sendbuf[BUFSIZ], recvbuf[BUFSIZ]; completion_t completion, completion2; isc_region_t r; + int n; UNUSED(tc); @@ -629,7 +632,8 @@ ATF_TC_BODY(tcp_dscp_v6, tc) { /* * Create two sockets: ::1/5444, talking to each other. */ - inet_pton(AF_INET6, "::1", &in6.s6_addr); + n = inet_pton(AF_INET6, "::1", &in6.s6_addr); + ATF_REQUIRE(n == 1); isc_sockaddr_fromin6(&addr1, &in6, 5444); result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp,