Re: FTP client dumping core

From: Maxim Konovalov <maxim_at_macomnet.ru>
Date: Thu, 5 Jun 2003 09:57:23 +0400 (MSD)
On Wed, 4 Jun 2003, 20:58-0300, Fred Souza wrote:

> > I think what Kris ment was something similiar to
> >
> > cd /usr/src/usr.bin/ftp
> > make clean
> > make DEBUG_FLAGS="-g" all install
>
>   Ahh, yes, with that I can see where the problem is. It's because of my
>   custom prompt, which should look like "ftp user_at_host:directory> "
>
>   Here's the output of gdb+ftp with the above debug flag:
>
>
>   (gdb) run x.y.z.w
>   Starting program: /usr/bin/ftp x.y.z.w
>   Connected to x.y.z.w.
>   220 h4w h4w h4w
>   Name (x.y.z.w:fred): ftp
>   530 Sorry, no ANONYMOUS access allowed.
>   ftp: Login failed.
>
>   Program received signal SIGSEGV, Segmentation fault.
>   0x0805e346 in formatbuf (buf=0x8069780 "ftp ", len=1024,
>       src=0x806f110 "ftp %n_at_%M:%/> ")
>       at /usr/src/contrib/lukemftp/src/util.c:1400
>   1400                            for (p2 = connected ? username : "-";
>   *p2 ; p2++)
>   (gdb)
>
>
>   I see now where the problem is, but shouldn't the client handle this
>   kind of situation better?

Try this patch:

Index: util.c
===================================================================
RCS file: /home/ncvs/src/contrib/lukemftp/src/util.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 util.c
--- util.c	15 Jun 2002 09:40:37 -0000	1.1.1.2
+++ util.c	5 Jun 2003 05:55:23 -0000
_at__at_ -1397,7 +1397,8 _at__at_
 			break;

 		case 'n':
-			for (p2 = connected ? username : "-"; *p2 ; p2++)
+			for (p2 = connected && username ? username : "-";
+			    *p2 ; p2++)
 				ADDBUF(*p2);
 			break;

%%%

-- 
Maxim Konovalov, maxim_at_macomnet.ru, maxim_at_FreeBSD.org
Received on Wed Jun 04 2003 - 20:57:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:10 UTC