From fuyuki@jade.dti.ne.jp  Thu Mar 15 00:18:43 2001
Return-Path: <fuyuki@jade.dti.ne.jp>
Received: from shrike.dti.ad.jp (shrike.dti.ad.jp [202.216.228.218])
	by hub.freebsd.org (Postfix) with ESMTP id A666F37B718
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 15 Mar 2001 00:18:42 -0800 (PST)
	(envelope-from fuyuki@jade.dti.ne.jp)
Received: from jade.dti.ne.jp (PPP36.sapporo-ap.dti.ne.jp [210.159.165.36]) by shrike.dti.ad.jp (8.9.3/3.7W) with ESMTP id RAA25187 for <FreeBSD-gnats-submit@freebsd.org>; Thu, 15 Mar 2001 17:18:31 +0900 (JST)
Message-Id: <200103150814.f2F8EmH03055@jade.dti.ne.jp>
Date: Thu, 15 Mar 2001 17:14:48 +0900 (JST)
From: fuyuki@jade.dti.ne.jp
To: FreeBSD-gnats-submit@freebsd.org
Subject: diskpart(8) causes segfaults
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         25820
>Category:       bin
>Synopsis:       diskpart(8) causes segfaults
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 15 00:20:01 PST 2001
>Closed-Date:    Thu May 31 21:02:03 PDT 2001
>Last-Modified:  Thu May 31 21:02:22 PDT 2001
>Originator:     Kimura Fuyuki
>Release:        FreeBSD 4.3-BETA i386
>Organization:
>Environment:
System: FreeBSD ns.test 4.3-BETA FreeBSD 4.3-BETA #3: Wed Mar 14 13:19:42 JST 2001 root@ns.test:/sack/obj/usr/src/sys/NS i386


	
>Description:
if not given enough arguments, diskpart(8) causes segfaults.
>How-To-Repeat:
diskpart -p
>Fix:
*** diskpart.c.orig	Thu Mar 15 15:46:06 2001
--- diskpart.c	Thu Mar 15 15:48:12 2001
***************
*** 128,135 ****
  	char *lp, *tyname;
  
  	argc--, argv++;
- 	if (argc < 1)
- 		usage();
  	if (argc > 0 && strcmp(*argv, "-p") == 0) {
  		pflag++;
  		argc--, argv++;
--- 128,133 ----
***************
*** 140,147 ****
  	}
  	if (argc > 1 && strcmp(*argv, "-s") == 0) {
  		totsize = atoi(argv[1]);
! 		argc += 2, argv += 2;
  	}
  	dp = getdiskbyname(*argv);
  	if (dp == NULL) {
  		if (isatty(0))
--- 138,147 ----
  	}
  	if (argc > 1 && strcmp(*argv, "-s") == 0) {
  		totsize = atoi(argv[1]);
! 		argc -= 2, argv += 2;
  	}
+ 	if (argc < 1)
+ 		usage();
  	dp = getdiskbyname(*argv);
  	if (dp == NULL) {
  		if (isatty(0))
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: dd 
State-Changed-When: Thu May 31 21:02:03 PDT 2001 
State-Changed-Why:  
Problem already fixed in -current. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=25820 
>Unformatted:
