summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2021-07-21 11:17:53 +0000
committerLaurent Bercot <ska@appnovation.com>2021-07-21 11:17:53 +0000
commit122f9363682e5de8ce4056c4c05c1eaf8935cf19 (patch)
tree8119a97386da98cddb70d29c89715302fd6df701
parent6c7a5b92bdfe68e847d371cc41f6655df3ef1ba5 (diff)
downloadskalibs-122f9363682e5de8ce4056c4c05c1eaf8935cf19.tar.gz
skalibs-122f9363682e5de8ce4056c4c05c1eaf8935cf19.tar.xz
skalibs-122f9363682e5de8ce4056c4c05c1eaf8935cf19.zip
Save errno when freeing a cdb
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--src/libstddjb/cdb_free.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libstddjb/cdb_free.c b/src/libstddjb/cdb_free.c
index 04ebf3e..d4250ec 100644
--- a/src/libstddjb/cdb_free.c
+++ b/src/libstddjb/cdb_free.c
@@ -1,10 +1,17 @@
 /* ISC license. */
 
 #include <sys/mman.h>
+#include <errno.h>
+
 #include <skalibs/cdb.h>
 
 extern void cdb_free (struct cdb *c)
 {
-  if (c->map) munmap(c->map, c->size) ;
+  if (c->map)
+  {
+    int e = errno ;
+    munmap(c->map, c->size) ;
+    errno = e ;
+  }
   *c = cdb_zero ;
 }