Date: Mon, 12 Apr 2010 10:12:52 +0400 From: Hizel Ildar <hizel@vyborg.ru> To: freebsd-current@freebsd.org Subject: Re: ipfw bug on i386 Message-ID: <20100412101252.64645a1b@hzwork.vyborg.ru> In-Reply-To: <20100412100756.1ef3af73@hzwork.vyborg.ru> References: <4BC1790F.1020205@lissyara.su> <20100412100756.1ef3af73@hzwork.vyborg.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
=D0=92 Mon, 12 Apr 2010 10:07:56 +0400 Hizel Ildar <hizel@vyborg.ru> =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > =D0=92 Sun, 11 Apr 2010 11:23:59 +0400 > Alex Keda <admin@lissyara.su> =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >=20 > > srv5# more /tmp/a.sh > > table=3D"24" > > ipfw table $table flush > > for octet3 in `jot - 1 60` > > do > > for octet4 in `jot - 1 254` > > do > > echo "table $table add 192.168.$octet3.$octet4" >> /tmp/$$.txt > > done > > done > > ipfw /tmp/$$.txt > > rm -f /tmp/$$.txt > >=20 > > effect: > >=20 > > srv5# sh /tmp/a.sh > > Abort trap (core dumped) > > srv5# > > srv5# ll ipfw.core > > -rw------- 1 root wheel - 1,9M 11 =D0=B0=D0=BF=D1=80 11:22 ipfw.core > > srv5# > >=20 > > Tested on 8,9 i386 - core dump, amd64 - all OK > > 7 - all OK > >=20 > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to > > "freebsd-current-unsubscribe@freebsd.org" > >=20 >=20 > Hey! I'm fix this bug :D >=20 > patch: >=20 > foo# diff -ruN main.c~ main.c > --- main.c~ 2010-03-04 19:54:56.000000000 +0300 > +++ main.c 2010-04-12 09:37:21.000000000 +0400 > @@ -553,7 +553,7 @@ > } > =20 > while (fgets(buf, BUFSIZ, f)) { /* read commands */ > - char linename[10]; > + char linename[11]; > char *args[2]; > =20 > lineno++; > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org" >=20 this is backtrace without my patch: foo# gdb /sbin/ipfw ipfw.core=20 GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain condition= s. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd"... Core was generated by `ipfw'. Program terminated with signal 6, Aborted. Reading symbols from /lib/libutil.so.9...done. Loaded symbols for /lib/libutil.so.9 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x281eee1b in kill () at kill.S:3 3 RSYSCALL(kill) (gdb) bt #0 0x281eee1b in kill () at kill.S:3 #1 0x280e8ef5 in __fail (msg=3D0x281f3730 "stack overflow detected; termin= ated") at /usr/src/lib/libc/sys/stack_protector.c:95 #2 0x280e8f30 in __stack_chk_fail () at /usr/src/lib/libc/sys/stack_protec= tor.c:102 #3 0x08057f44 in ipfw_readfile (ac=3D2, av=3D0xbfbfecac) at /usr/src/sbin/= ipfw/main.c:581 #4 0x08057fca in main (ac=3D2, av=3D0xbfbfecac) at /usr/src/sbin/ipfw/main= .c:606 Current language: auto; currently asm foo# uname -a FreeBSD foo.vyborg.ru 9.0-CURRENT FreeBSD 9.0-CURRENT #1: Sun Apr 11 21:00:05 MSD 2010 root@foo.vyborg.ru:/usr/obj/usr/src/sys/GENERIC i386
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100412101252.64645a1b>