Browse Source

ocserv: prevent a crash if the per-user dir does not exist

Relates #2167
lilik-openwrt-22.03
Nikos Mavrogiannopoulos 9 years ago
parent
commit
26beedd70c
2 changed files with 38 additions and 1 deletions
  1. +1
    -1
      net/ocserv/Makefile
  2. +37
    -0
      net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch

+ 1
- 1
net/ocserv/Makefile View 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)


+ 37
- 0
net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch View File

@ -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…
Cancel
Save