From andre.albsmeier@siemens.com  Mon Aug 25 00:39:14 2003
Return-Path: <andre.albsmeier@siemens.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B792116A4EA
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Aug 2003 00:39:13 -0700 (PDT)
Received: from david.siemens.de (david.siemens.de [192.35.17.14])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 5109543FB1
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Aug 2003 00:39:12 -0700 (PDT)
	(envelope-from andre.albsmeier@siemens.com)
Received: from mail3.siemens.de (mail3.siemens.de [139.25.208.14])
	by david.siemens.de (8.11.7/8.11.7) with ESMTP id h7P7dAH13804
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Aug 2003 09:39:11 +0200 (MEST)
Received: from mars.cert.siemens.de (ust.mchp.siemens.de [139.23.201.17])
	by mail3.siemens.de (8.11.7/8.11.7) with ESMTP id h7P7dAG25879
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Aug 2003 09:39:10 +0200 (MEST)
Received: from curry.mchp.siemens.de (curry.mchp.siemens.de [139.25.42.7])
	by mars.cert.siemens.de (8.12.9/8.12.9/$SiemensCERT: mail/cert.mc,v 1.46 2003/05/28 09:28:32 ust Exp $) with ESMTP id h7P7dAY5035098
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Aug 2003 09:39:10 +0200 (CEST)
Received: (from localhost)
	by curry.mchp.siemens.de (8.12.9/8.12.9) id h7P7dAKb072379
	for FreeBSD-gnats-submit@freebsd.org; Mon, 25 Aug 2003 09:39:10 +0200 (CEST)
Message-Id: <200308250739.h7P7dASD003261@curry.mchp.siemens.de>
Date: Mon, 25 Aug 2003 09:39:10 +0200 (CEST)
From: Andre Albsmeier <andre.albsmeier@siemens.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [PATCH] fetch -ds dumps core on ftp URLs
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         55950
>Category:       bin
>Synopsis:       [PATCH] fetch -ds dumps core on ftp URLs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 25 00:40:14 PDT 2003
>Closed-Date:    Mon Sep 01 05:48:03 PDT 2003
>Last-Modified:  Mon Sep 01 05:48:03 PDT 2003
>Originator:     Andre Albsmeier
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
>Environment:

System: FreeBSD 4.8-STABLE #0: Tue Aug 12 09:17:59 CEST 2003

>Description:

fetch does a coredump when getting invoked with -ds on
ftp URLs. The bug was introduced with 1.16.2.31 of ftp.c.

>How-To-Repeat:

andre@gate:~>fetch -ds ftp://ftp.freebsd.org/pub/FreeBSD/README.TXT
zsh: 13731 segmentation fault (core dumped)  fetch -ds ftp://ftp.freebsd.org/pub/FreeBSD/README.TXT

>Fix:

in lib/libfetch/ftp.c we have:

        /* just a stat */
        if (strcmp(op, "STAT") == 0)
                return (FILE *)1; /* bogus return value */
        if (strcmp(op, "STOR") == 0 || strcmp(op, "APPE") == 0)


so the fix is:

--- lib/libfetch/ftp.c.ORI	Tue Jun 10 08:54:16 2003
+++ lib/libfetch/ftp.c	Mon Aug 25 08:15:06 2003
@@ -1006,7 +1006,7 @@
 	f = _ftp_request(url, "STAT", us, _ftp_get_proxy(flags), flags);
 	if (f == NULL)
 		return (-1);
-	fclose(f);
+	/* no need to close the file since the pointer is bogus anyway */
 	return (0);
 }
 
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: maxim 
State-Changed-When: Mon Sep 1 05:47:18 PDT 2003 
State-Changed-Why:  
DES has fixed the bug in rev. 1.89 src/lib/libfetch/ftp.c, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=55950 
>Unformatted:
