From 5bf7b08efd691780f421e0b4f176404fe3a80b2c Mon Sep 17 00:00:00 2001 From: Gustavo Lopes Date: Mon, 5 Nov 2012 17:35:46 +0100 Subject: [PATCH] Check return of fstat() --- ext/sockets/sendrecvmsg.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c index 4436d18e84..16330e0ded 100644 --- a/ext/sockets/sendrecvmsg.c +++ b/ext/sockets/sendrecvmsg.c @@ -1387,7 +1387,12 @@ static void to_zval_read_fd_array(const char *data, zval *zv, res_context *ctx) fd = *((int *)data + i); /* determine whether we have a socket */ - fstat(fd, &statbuf); + if (fstat(fd, &statbuf) == -1) { + do_to_zval_err(ctx, "error creating resource for received file " + "descriptor %d: fstat() call failed with errno %d", fd, errno); + efree(elem); + return; + } if (S_ISSOCK(statbuf.st_mode)) { php_socket *sock = socket_import_file_descriptor(fd); zend_register_resource(elem, sock, php_sockets_le_socket()); -- 2.50.1