From: Douglas Bagnall Date: Wed, 8 May 2019 00:56:25 +0000 (+1200) Subject: ldb_mdb: check fcntl return values (CID 1435851) X-Git-Tag: tdb-1.4.1~120 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bfcfae72a57103d5bfae4b54b7ea10602bab838e;p=thirdparty%2Fsamba.git ldb_mdb: check fcntl return values (CID 1435851) Signed-off-by: Douglas Bagnall Reviewed-by: Gary Lockyer --- diff --git a/lib/ldb/ldb_mdb/ldb_mdb.c b/lib/ldb/ldb_mdb/ldb_mdb.c index 68ee97acb64..9fa10e9e470 100644 --- a/lib/ldb/ldb_mdb/ldb_mdb.c +++ b/lib/ldb/ldb_mdb/ldb_mdb.c @@ -942,7 +942,16 @@ static int lmdb_open_env(TALLOC_CTX *mem_ctx, /* Just as for TDB: on exec, don't inherit the fd */ v = fcntl(fd, F_GETFD, 0); - fcntl(fd, F_SETFD, v | FD_CLOEXEC); + if (v == -1) { + TALLOC_FREE(w); + return LDB_ERR_OPERATIONS_ERROR; + } + + ret = fcntl(fd, F_SETFD, v | FD_CLOEXEC); + if (ret == -1) { + TALLOC_FREE(w); + return LDB_ERR_OPERATIONS_ERROR; + } if (fstat(fd, &st) != 0) { ldb_asprintf_errstring(