srcfifo && dstfifo must still be freed if socat is not present.

Only unlink if the fifo was actually created.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
---
 tests/test-io-channel-command.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/test-io-channel-command.c b/tests/test-io-channel-command.c
index 1d1f461..4fc1732 100644
--- a/tests/test-io-channel-command.c
+++ b/tests/test-io-channel-command.c
@@ -40,7 +40,7 @@ static void test_io_channel_command_fifo(bool async)
 
     unlink(TEST_FIFO);
     if (access("/bin/socat", X_OK) < 0) {
-        return; /* Pretend success if socat is not present */
+        goto end; /* Pretend success if socat is not present */
     }
     if (mkfifo(TEST_FIFO, 0600) < 0) {
         abort();
@@ -59,9 +59,11 @@ static void test_io_channel_command_fifo(bool async)
     object_unref(OBJECT(src));
     object_unref(OBJECT(dst));
 
+    unlink(TEST_FIFO);
+
+end:
     g_free(srcfifo);
     g_free(dstfifo);
-    unlink(TEST_FIFO);
 }
 
 
-- 
2.10.0


Reply via email to