properly handle return code of pipe() syscall
authorJohn Crispin <blogic@openwrt.org>
Sat, 28 Mar 2015 06:59:38 +0000 (07:59 +0100)
committerJohn Crispin <blogic@openwrt.org>
Sat, 28 Mar 2015 06:59:38 +0000 (07:59 +0100)
Signed-off-by: John Crispin <blogic@openwrt.org>
log/logd.c

index a9fec9ad5cd445532e51c71c96e5009a3d3d140c..8cebeb89fd5c8637dedf5c72ba2669b225e0082c 100644 (file)
@@ -82,7 +82,10 @@ read_log(struct ubus_context *ctx, struct ubus_object *obj,
                        count = blobmsg_get_u32(tb);
        }
 
-       pipe(fds);
+       if (pipe(fds) == -1) {
+               fprintf(stderr, "logd: failed to create pipe: %s\n", strerror(errno));
+               return -1;
+       }
        ubus_request_set_fd(ctx, req, fds[0]);
        cl = calloc(1, sizeof(*cl));
        cl->s.stream.notify_write = client_notify_write;