Address some spurious Clang static analyzer warnings

Signed-off-by: Erik Boasson <eb@ilities.com>

Fix typo in dlopen_unknown test

Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2020-01-19 17:00:18 +01:00 committed by eboasson
parent 97c3025e54
commit 68f789d77b
6 changed files with 20 additions and 10 deletions

View file

@ -87,7 +87,7 @@ CU_Test(ddsrt_library, dlopen_unknown)
ddsrt_dynlib_t l;
r = ddsrt_dlopen("UnknownLib", false, &l);
CU_ASSERT_NOT_EQUAL(r, DDS_RETCODE_OK);
CU_ASSERT_PTR_NULL_FATAL(l);
r = ddsrt_dlerror(buffer, sizeof(buffer));
@ -123,6 +123,7 @@ CU_Test(ddsrt_library, dlsym_unknown)
void* f;
r = ddsrt_dlopen(TEST_LIB_NAME, true, &l);
CU_ASSERT_EQUAL(r, DDS_RETCODE_OK);
CU_ASSERT_PTR_NOT_NULL(l);
TEST_ABORT_IF_NULL(l,"ddsrt_dlopen() failed. Is the proper library path set?");
@ -150,17 +151,21 @@ CU_Test(ddsrt_library, call)
ddsrt_dynlib_t l;
r = ddsrt_dlopen(TEST_LIB_NAME, true, &l);
CU_ASSERT_EQUAL(r, DDS_RETCODE_OK);
CU_ASSERT_PTR_NOT_NULL(l);
TEST_ABORT_IF_NULL(l, "ddsrt_dlopen() failed. Is the proper library path set?");
r = ddsrt_dlsym(l, "get_int", (void **)&f_get);
CU_ASSERT_EQUAL(r, DDS_RETCODE_OK);
CU_ASSERT_PTR_NOT_NULL(f_get);
TEST_ABORT_IF_NULL(f_get, "ddsrt_dlsym(l, \"get_int\") failed.");
r = ddsrt_dlsym(l, "set_int", (void **)&f_set);
CU_ASSERT_EQUAL(r, DDS_RETCODE_OK);
CU_ASSERT_PTR_NOT_NULL(f_set);
TEST_ABORT_IF_NULL(f_set, "ddsrt_dlsym(l, \"set_int\") failed.");
assert(f_set != 0 && f_get != 0); /* for Clang static analyzer */
f_set(set_int);
get_int = f_get();
CU_ASSERT_EQUAL(set_int, get_int);
@ -175,6 +180,7 @@ CU_Test(ddsrt_library, dlclose_error)
ddsrt_dynlib_t l;
r = ddsrt_dlopen(TEST_LIB_NAME, true, &l);
CU_ASSERT_EQUAL(r, DDS_RETCODE_OK);
CU_ASSERT_PTR_NOT_NULL(l);
TEST_ABORT_IF_NULL(l, "ddsrt_dlopen() failed. Is the proper library path set?");

View file

@ -10,6 +10,7 @@
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
#include <string.h>
#include <assert.h>
#include "CUnit/Theory.h"
#include "dds/ddsrt/heap.h"
@ -82,6 +83,7 @@ CU_Theory((const char *str, const char *srch, const char *subst, size_t max, con
if (exp != NULL)
{
CU_ASSERT_FATAL(r != NULL);
assert(r != NULL); /* for Clang static analyzer */
CU_ASSERT(strcmp(r, exp) == 0);
ddsrt_free(r);
}