diff --git a/apps/backend/backend_client.c b/apps/backend/backend_client.c index 29d22869..247be346 100644 --- a/apps/backend/backend_client.c +++ b/apps/backend/backend_client.c @@ -1392,8 +1392,10 @@ from_client_msg(clicon_handle h, /* NACM rpc operation exec validation */ if ((ret = nacm_rpc(rpc, module, username, xnacm, cbret)) < 0) goto done; - if (xnacm) + if (xnacm){ xml_free(xnacm); + xnacm = NULL; + } if (ret == 0) /* Not permitted and cbret set */ goto reply; } @@ -1438,6 +1440,8 @@ from_client_msg(clicon_handle h, retval = 0; done: clicon_debug(1, "%s retval:%d", __FUNCTION__, retval); + if (xnacm) + xml_free(xnacm); if (xret) xml_free(xret); if (xt) diff --git a/apps/backend/backend_socket.c b/apps/backend/backend_socket.c index 738df455..6ed03660 100644 --- a/apps/backend/backend_socket.c +++ b/apps/backend/backend_socket.c @@ -270,9 +270,11 @@ backend_accept_client(int fd, #else #error "Need getsockopt O_PEERCRED or getpeereid for unix socket peer cred" #endif - if (name && (ce->ce_username = strdup(name)) == NULL){ - clicon_err(OE_UNIX, errno, "strdup"); - goto done; + if (name != NULL){ + if ((ce->ce_username = strdup(name)) == NULL){ + clicon_err(OE_UNIX, errno, "strdup"); + goto done; + } } break; case AF_INET: /* XXX: HACK ce->ce_pid */ diff --git a/test/lib.sh b/test/lib.sh index 87f3d8fb..67a8a604 100755 --- a/test/lib.sh +++ b/test/lib.sh @@ -232,6 +232,9 @@ wait_restconf(){ err "restconf timeout $RCWAIT seconds" fi done + if [ $valgrindtest -eq 3 ]; then + sleep 2 # some problems with valgrind + fi } # Increment test number and print a nice string diff --git a/test/mem.sh b/test/mem.sh index 6e143cea..0122ae72 100755 --- a/test/mem.sh +++ b/test/mem.sh @@ -36,7 +36,7 @@ memonce(){ valgrindtest=3 # This means backend valgrind test sudo chmod 660 $valgrindfile sudo chown www-data $valgrindfile - : ${RCWAIT:=10} # valgrind backend needs some time to get up + : ${RCWAIT:=15} # valgrind backend needs some time to get up clixon_restconf="/usr/bin/valgrind --leak-check=full --show-leak-kinds=all --suppressions=./valgrind-clixon.supp --track-fds=yes --trace-children=no --child-silent-after-fork=yes --log-file=$valgrindfile /www-data/clixon_restconf" ;;