From owner-freebsd-bugs Wed Dec 13 5:20: 7 2000 From owner-freebsd-bugs@FreeBSD.ORG Wed Dec 13 05:20:01 2000 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 6CC6B37B404 for ; Wed, 13 Dec 2000 05:20:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id eBDDK1670193; Wed, 13 Dec 2000 05:20:01 -0800 (PST) (envelope-from gnats) Resent-Date: Wed, 13 Dec 2000 05:20:01 -0800 (PST) Resent-Message-Id: <200012131320.eBDDK1670193@freefall.freebsd.org> Resent-From: gnats-admin@FreeBSD.org (GNATS Management) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: gnats-admin@FreeBSD.org, luddes@hotmail.com Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 3664637B402 for ; Wed, 13 Dec 2000 05:19:51 -0800 (PST) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id eBDDJps70162; Wed, 13 Dec 2000 05:19:51 -0800 (PST) (envelope-from nobody) Message-Id: <200012131319.eBDDJps70162@freefall.freebsd.org> Date: Wed, 13 Dec 2000 05:19:51 -0800 (PST) From: luddes@hotmail.com Sender: nobody@FreeBSD.org To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: misc/23521: NULL pointer write in vfprintf code Resent-Sender: gnats@FreeBSD.org Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 23521 >Category: misc >Synopsis: NULL pointer write in vfprintf code >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: Wed Dec 13 05:20:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: Ludde >Release: 4.1.1 >Organization: >Environment: FreeBSD matchbox.dumle.nu 4.1.1-RELEASE FreeBSD 4.1.1-RELEASE #3: Wed Dec 6 19:34:33 CET 2000 root@matchbox.dumle.nu:/usr/src/sys/compile/MATCHBOX i386 >Description: This code crashes because of a NULL pointer write inside the vfprintf code. It should print the 8th argument as an integer. printf("%8$d", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); GDB output: 0x280d49e0 in vfprintf () from /usr/lib/libc.so.4 (gdb) x/i $eip 0x280d49e0 : mov %eax,(%edx) (gdb) info reg edx edx 0x0 0 >How-To-Repeat: Compile a C program with this contents: int main() { printf("%8$d", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } and run it >Fix: Perhaps the memory allocation failure is at: if (tablemax >= STATIC_ARG_TBL_SIZE) { *argtable = (void **) malloc (sizeof (void *) * (tablemax + 1)); } >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message