[fedfs-utils] [PATCH 10/11] libnsdb: Avoid passing NULL to strdup(3)

Chuck Lever chuck.lever at oracle.com
Thu Jan 24 10:36:03 PST 2013


strdup(3) segfaults if it is passed NULL.

Signed-off-by: Chuck Lever <chuck.lever at oracle.com>
---

 src/libnsdb/nsdb.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/libnsdb/nsdb.c b/src/libnsdb/nsdb.c
index 3bfb50e..e6c13c4 100644
--- a/src/libnsdb/nsdb.c
+++ b/src/libnsdb/nsdb.c
@@ -528,10 +528,12 @@ nsdb_new_nsdb(const char *hostname, const unsigned long port, nsdb_t *host)
 	char *hostname_tmp;
 	unsigned short port_tmp;
 
-	if (!nsdb_is_hostname_utf8(hostname))
-		return FEDFS_ERR_BADCHAR;
+	if (hostname == NULL || host == NULL)
+		return FEDFS_ERR_INVAL;
 	if (port > UINT16_MAX)
 		return FEDFS_ERR_INVAL;
+	if (!nsdb_is_hostname_utf8(hostname))
+		return FEDFS_ERR_BADCHAR;
 
 	port_tmp = LDAP_PORT;
 	if (port != 0)




More information about the fedfs-utils-devel mailing list