ocserv: prevent a crash if the per-user dir does not exist
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 5 Jan 2016 20:48:03 +0000 (21:48 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 5 Jan 2016 20:49:13 +0000 (21:49 +0100)
Relates #2167

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
net/ocserv/Makefile
net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch [new file with mode: 0644]

index c8988df92b4d2ea579f914ebc59be8f4803da64f..ac90a55057a738f836db0d69de497717c2804a5a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
 PKG_VERSION:=0.10.10
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_USE_MIPS16:=0
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch b/net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch
new file mode 100644 (file)
index 0000000..513d766
--- /dev/null
@@ -0,0 +1,37 @@
+From 78ebe6c1dab648e3190363cb38ad5be356884494 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Date: Tue, 5 Jan 2016 21:37:35 +0100
+Subject: [PATCH] don't attempt to open per_user_dir if it is NULL
+
+This addresses a crash in certain libc's.
+---
+ src/config.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/config.c b/src/config.c
+index 827a7a0..50db655 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -617,6 +617,9 @@ static void load_iroutes(struct cfg_st *config)
+       struct dirent *r;
+       char path[_POSIX_PATH_MAX];
++      if (config->per_user_dir == NULL)
++              return;
++
+       dir = opendir(config->per_user_dir);
+       if (dir != NULL) {
+               do {
+@@ -626,8 +629,8 @@ static void load_iroutes(struct cfg_st *config)
+                               append_iroutes_from_file(config, path);
+                       }
+               } while(r != NULL);
++              closedir(dir);
+       }
+-      closedir(dir);
+ }
+ static void parse_cfg_file(void *pool, const char* file, struct perm_cfg_st *perm_config, unsigned reload)
+-- 
+2.5.1
+