From patchwork Thu Jan 24 18:36:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 215473 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "aserp1040.oracle.com", Issuer "VeriSign Class 3 International Server CA - G3" (not verified)) by ozlabs.org (Postfix) with ESMTPS id DD86F2C008C for ; Fri, 25 Jan 2013 05:36:11 +1100 (EST) Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by aserp1040.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id r0OIa8cO017752 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 24 Jan 2013 18:36:09 GMT Received: from oss.oracle.com (oss-external.oracle.com [137.254.96.51]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r0OIa8es019423 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 24 Jan 2013 18:36:08 GMT Received: from localhost ([127.0.0.1] helo=oss.oracle.com) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1TyReh-0000Rd-V6; Thu, 24 Jan 2013 10:36:07 -0800 Received: from ucsinet21.oracle.com ([156.151.31.93]) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1TyReg-0000RT-Ee for fedfs-utils-devel@oss.oracle.com; Thu, 24 Jan 2013 10:36:06 -0800 Received: from userp1030.oracle.com (userp1030.oracle.com [156.151.31.80]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r0OIa5CO021618 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 24 Jan 2013 18:36:06 GMT Received: from mail-ia0-f169.google.com (mail-ia0-f169.google.com [209.85.210.169]) by userp1030.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id r0OIa5to010998 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 24 Jan 2013 18:36:05 GMT Received: by mail-ia0-f169.google.com with SMTP id j5so5352932iaf.0 for ; Thu, 24 Jan 2013 10:36:05 -0800 (PST) X-Received: by 10.50.179.99 with SMTP id df3mr1997727igc.94.1359052565012; Thu, 24 Jan 2013 10:36:05 -0800 (PST) Received: from seurat.1015granger.net ([99.26.161.222]) by mx.google.com with ESMTPS id wo10sm1661714igc.13.2013.01.24.10.36.04 (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 24 Jan 2013 10:36:04 -0800 (PST) From: Chuck Lever To: fedfs-utils-devel@oss.oracle.com Date: Thu, 24 Jan 2013 13:36:03 -0500 Message-ID: <20130124183603.13601.30397.stgit@seurat.1015granger.net> In-Reply-To: <20130124182619.13601.61251.stgit@seurat.1015granger.net> References: <20130124182619.13601.61251.stgit@seurat.1015granger.net> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 X-Flow-Control-Info: class=Default reputation=ipRepBelow100 ip=209.85.210.169 ct-class=R4 ct-vol1=-92 ct-vol2=8 ct-vol3=7 ct-risk=37 ct-spam1=53 ct-spam2=6 ct-bulk=6 rcpts=1 size=796 X-MM-CT-Classification: not spam X-MM-CT-RefID: str=0001.0A090201.51017F15.009E,ss=1,re=0.000,fgs=0 Subject: [fedfs-utils] [PATCH 10/11] libnsdb: Avoid passing NULL to strdup(3) X-BeenThere: fedfs-utils-devel@oss.oracle.com X-Mailman-Version: 2.1.9 Precedence: list Reply-To: fedfs-utils Developers List-Id: fedfs-utils Developers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: fedfs-utils-devel-bounces@oss.oracle.com Errors-To: fedfs-utils-devel-bounces@oss.oracle.com X-Source-IP: acsinet22.oracle.com [141.146.126.238] strdup(3) segfaults if it is passed NULL. Signed-off-by: Chuck Lever --- 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)