From owner-freebsd-bugs@FreeBSD.ORG Thu Feb 26 13:50:20 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2632F16A4CF for ; Thu, 26 Feb 2004 13:50:20 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 069FC43D2D for ; Thu, 26 Feb 2004 13:50:20 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i1QLoJbv024179 for ; Thu, 26 Feb 2004 13:50:19 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i1QLoJDk024178; Thu, 26 Feb 2004 13:50:19 -0800 (PST) (envelope-from gnats) Resent-Date: Thu, 26 Feb 2004 13:50:19 -0800 (PST) Resent-Message-Id: <200402262150.i1QLoJDk024178@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Chris Mikkelson Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 28E0216A4CE for ; Thu, 26 Feb 2004 13:49:50 -0800 (PST) Received: from tig.oss.uswest.net (tig.oss.uswest.net [204.147.85.37]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC0DC43D1F for ; Thu, 26 Feb 2004 13:49:49 -0800 (PST) (envelope-from cmikk@tig.oss.uswest.net) Received: from tig.oss.uswest.net (localhost [127.0.0.1]) by tig.oss.uswest.net (8.12.10/8.12.10) with ESMTP id i1QLnmBL010994 for ; Thu, 26 Feb 2004 21:49:48 GMT (envelope-from cmikk@tig.oss.uswest.net) Received: (from cmikk@localhost) by tig.oss.uswest.net (8.12.10/8.12.10/Submit) id i1QLnmcn010993; Thu, 26 Feb 2004 15:49:48 -0600 (CST) (envelope-from cmikk) Message-Id: <200402262149.i1QLnmcn010993@tig.oss.uswest.net> Date: Thu, 26 Feb 2004 15:49:48 -0600 (CST) From: Chris Mikkelson To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: bin/63413: dbm_delete return value incorrect X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Chris Mikkelson List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2004 21:50:20 -0000 >Number: 63413 >Category: bin >Synopsis: dbm_delete return value incorrect >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Feb 26 13:50:19 PST 2004 >Closed-Date: >Last-Modified: >Originator: Chris Mikkelson >Release: FreeBSD 4.9-STABLE i386 >Organization: >Environment: System: FreeBSD tig.oss.uswest.net 4.9-STABLE FreeBSD 4.9-STABLE #6: Thu Feb 5 14:57:21 CST 2004 root@tig.oss.uswest.net:/usr/obj/usr/src/sys/TIG i386 >Description: According to dbm(3) man page, dbm_delete() returns 0 on success, -1 on error, and 1 if the key to be deleted did not exist. The implementation of dbm_delete returns -1 if the key did not exist. >How-To-Repeat: >Fix: Apply to /usr/src/lib/libc/db/hash/ndbm.c: --- ndbm.c.orig Thu Feb 26 15:41:46 2004 +++ ndbm.c Thu Feb 26 15:44:01 2004 @@ -160,6 +160,7 @@ * Returns: * 0 on success * <0 failure + * 1 if entry does not exist */ extern int dbm_delete(db, key) @@ -171,11 +172,7 @@ dbtkey.data = key.dptr; dbtkey.size = key.dsize; - status = (db->del)(db, &dbtkey, 0); - if (status) - return (-1); - else - return (0); + return (db->del)(db, &dbtkey, 0); } /* >Release-Note: >Audit-Trail: >Unformatted: