From ab3fea51dc890feaca7075643efe9410949e5363 Mon Sep 17 00:00:00 2001
From: Hallvard Furuseth <hallvard@openldap.org>
Date: Wed, 3 Oct 2012 18:06:29 +0200
Subject: [PATCH] ITS#7377 Catch ftruncate() error

---
 libraries/libmdb/mdb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c
index 42e33824b1..e92b5e7b1b 100644
--- a/libraries/libmdb/mdb.c
+++ b/libraries/libmdb/mdb.c
@@ -2629,7 +2629,8 @@ mdb_env_open2(MDB_env *env, unsigned int flags)
 	prot = PROT_READ;
 	if (flags & MDB_WRITEMAP) {
 		prot |= PROT_WRITE;
-		ftruncate(env->me_fd, env->me_mapsize);
+		if (ftruncate(env->me_fd, env->me_mapsize) < 0)
+			return ErrCode();
 	}
 	env->me_map = mmap(meta.mm_address, env->me_mapsize, prot, i,
 		env->me_fd, 0);
-- 
GitLab