FTP client dumping core
Maxim Konovalov
maxim at macomnet.ru
Wed Jun 4 22:57:29 PDT 2003
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@%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
@@ -1397,7 +1397,8 @@
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
More information about the freebsd-current
mailing list