From owner-freebsd-bugs@FreeBSD.ORG Wed Jun 2 13:00:45 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 955E816A4CE for ; Wed, 2 Jun 2004 13:00:45 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EEDA43D45 for ; Wed, 2 Jun 2004 13:00:45 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i52K0jYY079961 for ; Wed, 2 Jun 2004 13:00:45 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i52K0jik079957; Wed, 2 Jun 2004 13:00:45 -0700 (PDT) (envelope-from gnats) Resent-Date: Wed, 2 Jun 2004 13:00:45 -0700 (PDT) Resent-Message-Id: <200406022000.i52K0jik079957@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, Matthew George Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2F1F516A4CE for ; Wed, 2 Jun 2004 12:52:02 -0700 (PDT) Received: from mail.secureworks.net (mail.secureworks.net [209.101.212.155]) by mx1.FreeBSD.org (Postfix) with SMTP id 8401343D2F for ; Wed, 2 Jun 2004 12:52:01 -0700 (PDT) (envelope-from mdg@secureworks.net) Received: (qmail 58404 invoked from network); 2 Jun 2004 19:51:54 -0000 Received: from unknown (HELO HOST-192-168-8-243.internal.secureworks.net) (209.101.212.253) by mail.secureworks.net with SMTP; 2 Jun 2004 19:51:54 -0000 Message-Id: <20040602153253.B1067@localhost> Date: Wed, 2 Jun 2004 15:52:00 -0400 (EDT) From: Matthew George To: FreeBSD-gnats-submit@FreeBSD.org Subject: bin/67501: [PATCH] from Darwin: libc/net/nsap_addr.c buffer allocation X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jun 2004 20:00:45 -0000 >Number: 67501 >Category: bin >Synopsis: [PATCH] from Darwin: libc/net/nsap_addr.c buffer allocation >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jun 02 13:00:45 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Matthew George >Release: FreeBSD 5.2-CURRENT i386 >Organization: SecureWorks >Environment: System: FreeBSD mdg.secureworks.net 5.2-CURRENT FreeBSD 5.2-CURRENT #2: Mon Mar 29 12:02:58 EST 2004 mdg@mdg.secureworks.net:/usr/obj/usr/src/sys/GENERIC i386 >Description: this changes the function inet_nsap_ntoa() such that it will dynamically allocate (and verify the allocation of) its temporary buffer, a pointer to which is returned to the caller. NULL is returned if malloc() fails. This was taken from the Darwin libc package, in the net/FreeBSD directory. The original BSD license has been retained. >How-To-Repeat: >Fix: Index: lib/libc/net/nsap_addr.c =================================================================== RCS file: /home/ncvs/src/lib/libc/net/nsap_addr.c,v retrieving revision 1.9 diff -u -r1.9 nsap_addr.c --- lib/libc/net/nsap_addr.c 22 Mar 2002 21:52:29 -0000 1.9 +++ lib/libc/net/nsap_addr.c 2 Jun 2004 19:32:09 -0000 @@ -26,6 +26,7 @@ #include #include #include +#include static char xtob(c) @@ -78,9 +79,14 @@ { int nib; int i; - static char tmpbuf[255*3]; + static char *tmpbuf = NULL; char *start; + if (tmpbuf == NULL) { + tmpbuf = malloc(255*3); + if (tmpbuf == NULL) + return NULL; + } if (ascii) start = ascii; else { -- Matthew George SecureWorks Technical Operations >Release-Note: >Audit-Trail: >Unformatted: