---
 cpukit/libfs/src/pipe/fifo.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/cpukit/libfs/src/pipe/fifo.c b/cpukit/libfs/src/pipe/fifo.c
index 71d5f85..3275e5f 100644
--- a/cpukit/libfs/src/pipe/fifo.c
+++ b/cpukit/libfs/src/pipe/fifo.c
@@ -149,18 +149,15 @@ static int pipe_new(
   pipe = *pipep;
   if (pipe == NULL) {
     err = pipe_alloc(&pipe);
-    if (err)
-      goto out;
+    if (err) {
+      pipe_unlock();
+      return err;
+    }
   }
 
   PIPE_LOCK(pipe);
 
-  if (*pipep == NULL) {
-    if (err)
-      pipe_free(pipe);
-    else
-      *pipep = pipe;
-  }
+  *pipep = pipe;
 
 out:
   pipe_unlock();
-- 
1.8.3.1

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to