Re: mdconfig core dump
Poul-Henning Kamp <[email protected]> Thu, 10 Oct 2002 07:05:47 +0200
| Newsgroups | gmane.os.freebsd.devel.audit |
|---|---|
| Message-ID | <[email protected]> |
In message <[email protected]>, Giorgos Keramidas writes: >Tonight, on a world compiled from last night's sources, mdconfig(8) >started dumping cores for me. The stack trace was: > >#0 0x080491da in strsep () >#1 0x08048961 in list (fd=3) at /usr/src/sbin/mdconfig/mdconfig.c:219 >#2 0x080487cc in main (argc=2, argv=0xbfbffaf0) at > /usr/src/sbin/mdconfig/mdconfig.c:176 >#3 0x08048139 in _start () > >Does the following look a reasonable change? It seems that strsep() >starts getting angry when fed a non-nul-terminated buffer. Absolutely. Commit it. > >%%% >Index: mdconfig.c >=================================================================== >RCS file: /home/ncvs/src/sbin/mdconfig/mdconfig.c,v >retrieving revision 1.23 >diff -u -r1.23 mdconfig.c >--- mdconfig.c 21 Aug 2002 15:15:15 -0000 1.23 >+++ mdconfig.c 9 Oct 2002 22:01:19 -0000 >@@ -211,8 +211,9 @@ > > if (sysctlbyname("kern.disks", NULL, &dll, NULL, 0) == -1) > err(1, "sysctlbyname: kern.disks"); >- if ( (disklist = malloc(dll)) == NULL) >+ if ( (disklist = malloc(dll + 1)) == NULL) > err(1, "malloc"); >+ bzero(disklist, dll + 1); > if (sysctlbyname("kern.disks", disklist, &dll, NULL, 0) == -1) > err(1, "sysctlbyname: kern.disks"); > >%%% > -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [email protected] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to [email protected] with "unsubscribe freebsd-audit" in the body of the message