From owner-freebsd-bugs@FreeBSD.ORG Wed Jun 15 19:00:39 2005 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org 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 9E7D516A41C for ; Wed, 15 Jun 2005 19:00:39 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 75EA943D1D for ; Wed, 15 Jun 2005 19:00:39 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j5FJ0dSv090552 for ; Wed, 15 Jun 2005 19:00:39 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j5FJ0dwF090542; Wed, 15 Jun 2005 19:00:39 GMT (envelope-from gnats) Resent-Date: Wed, 15 Jun 2005 19:00:39 GMT Resent-Message-Id: <200506151900.j5FJ0dwF090542@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, Tilman Linneweh Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A9FB316A41C for ; Wed, 15 Jun 2005 18:57:36 +0000 (GMT) (envelope-from arved@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9060743D48 for ; Wed, 15 Jun 2005 18:57:36 +0000 (GMT) (envelope-from arved@FreeBSD.org) Received: from freefall.freebsd.org (arved@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j5FIvaBV090483 for ; Wed, 15 Jun 2005 18:57:36 GMT (envelope-from arved@freefall.freebsd.org) Received: (from arved@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j5FIvaRY090482; Wed, 15 Jun 2005 18:57:36 GMT (envelope-from arved) Message-Id: <200506151857.j5FIvaRY090482@freefall.freebsd.org> Date: Wed, 15 Jun 2005 18:57:36 GMT From: Tilman Linneweh To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: bin/82287: [routed] Fix varargs usage, remove non-existing -p option X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Tilman Linneweh List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2005 19:00:39 -0000 >Number: 82287 >Category: bin >Synopsis: [routed] Fix varargs usage, remove non-existing -p option >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed Jun 15 19:00:38 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Tilman Linneweh >Release: FreeBSD 4.11-STABLE i386 >Organization: >Environment: System: FreeBSD freefall.freebsd.org 4.11-STABLE FreeBSD 4.11-STABLE #16: Sat Feb 26 00:02:03 GMT 2005 kensmith@freefall.freebsd.org:/c/src/sys/compile/FREEFALL i386 >Description: The varargs handling in routed is broken, This has been fixed, in rhyolite routed 2.31 and NetBSD, OpenBSD Attached is a diff against main.c from rhyolite routed 2.31 Additional this patch removes the unimplented, and undocumented -p Option This fix was committed to the other BSDs some time ago >How-To-Repeat: Run routed with -dt on freebsd-amd64 >Fix: --- patch-routed-main.c begins here --- --- /usr/src/sbin/routed/main.c Sat Jun 4 13:34:31 2005 +++ main.c Wed Jun 15 19:38:08 2005 @@ -47,8 +47,8 @@ #elif defined(__FreeBSD__) __RCSID("$FreeBSD: src/sbin/routed/main.c,v 1.18 2005/05/31 20:28:48 stefanf Exp $"); #else -__RCSID("$Revision: 2.27 $"); -#ident "$Revision: 2.27 $" +__RCSID("$Revision: 2.31 $"); +#ident "$Revision: 2.31 $" #endif pid_t mypid; @@ -133,7 +133,7 @@ (void)gethostname(myname, sizeof(myname)-1); (void)gethost(myname, &myaddr); - while ((n = getopt(argc, argv, "sqdghmpAtvT:F:P:")) != -1) { + while ((n = getopt(argc, argv, "sqdghmAtvT:F:P:")) != -1) { switch (n) { case 's': supplier = 1; @@ -219,7 +219,7 @@ case 'v': /* display version */ verbose++; - msglog("version 2.25"); + msglog("version 2.31"); break; default: @@ -237,7 +237,7 @@ goto usage; if (argc != 0) { usage: - logbad(0, "usage: routed [-sqdghmpAtv] [-T tracefile]" + logbad(0, "usage: routed [-sqdghmAtv] [-T tracefile]" " [-F net[,metric]] [-P parms]"); } if (geteuid() != 0) { @@ -863,14 +863,16 @@ va_start(args, p); vsyslog(LOG_ERR, p, args); + va_end(args); if (ftrace != 0) { if (ftrace == stdout) (void)fputs("routed: ", ftrace); + va_start(args, p); (void)vfprintf(ftrace, p, args); + va_end(args); (void)fputc('\n', ftrace); } - va_end(args); } @@ -889,8 +891,6 @@ struct msg_sub *ms1, *ms; const char *p1; - va_start(args, p); - /* look for the oldest slot in the table * or the slot for the bad router. */ @@ -925,15 +925,18 @@ trace_flush(); for (p1 = p; *p1 == ' '; p1++) continue; + va_start(args, p); vsyslog(LOG_ERR, p1, args); + va_end(args); } /* always display the message if tracing */ if (ftrace != 0) { + va_start(args, p); (void)vfprintf(ftrace, p, args); + va_end(args); (void)fputc('\n', ftrace); } - va_end(args); } @@ -946,12 +949,14 @@ va_start(args, p); vsyslog(LOG_ERR, p, args); + va_end(args); (void)fputs("routed: ", stderr); + va_start(args, p); (void)vfprintf(stderr, p, args); + va_end(args); (void)fputs("; giving up\n",stderr); (void)fflush(stderr); - va_end(args); if (dump) abort(); --- patch-routed-main.c ends here --- >Release-Note: >Audit-Trail: >Unformatted: