diff --git a/libsemanage/src/utilities.c b/libsemanage/src/utilities.c index 349a4be..a340fc8 100644 --- a/libsemanage/src/utilities.c +++ b/libsemanage/src/utilities.c @@ -140,6 +140,10 @@ int semanage_list_push(semanage_list_t ** list, char *data) if (!data) return EINVAL; + + if (semanage_list_find(*list, data) != NULL) + return 0; + if (!(temp = malloc(sizeof(semanage_list_t)))) return ENOMEM; diff --git a/libsemanage/tests/Makefile b/libsemanage/tests/Makefile index f92455c..ad1869b 100644 --- a/libsemanage/tests/Makefile +++ b/libsemanage/tests/Makefile @@ -13,7 +13,7 @@ EXECUTABLE = libsemanage-tests CC = gcc CFLAGS = -c -g -o0 -Wall -W -Wundef -Wmissing-noreturn -Wmissing-format-attribute -Wno-unused-parameter INCLUDE = -I$(TESTSRC) -I$(TESTSRC)/../include -LDFLAGS = -lcunit -lustr -lbz2 +LDFLAGS = -lcunit -lustr -lbz2 -lpthread OBJECTS = $(SOURCES:.c=.o) all: $(EXECUTABLE)