ocserv: prevent a crash if the per-user dir does not exist
Relates #2167 Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
This commit is contained in:
parent
7bc5cdcee3
commit
57c660e98d
2 changed files with 38 additions and 1 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=ocserv
|
PKG_NAME:=ocserv
|
||||||
PKG_VERSION:=0.10.10
|
PKG_VERSION:=0.10.10
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=4
|
||||||
PKG_USE_MIPS16:=0
|
PKG_USE_MIPS16:=0
|
||||||
|
|
||||||
PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue