diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp
index f53042b..5348f35 100644
--- a/test/ipc/unixsocket.cpp
+++ b/test/ipc/unixsocket.cpp
@@ -145,6 +145,7 @@ private:
 
 					if (num < 0) {
 						cerr << "Read failed" << endl;
+						close(outfd);
 						stop(-EIO);
 						return;
 					} else if (!num)
@@ -152,6 +153,7 @@ private:
 
 					if (write(outfd, buf, num) < 0) {
 						cerr << "Write failed" << endl;
+						close(outfd);
 						stop(-EIO);
 						return;
 					}
