* Re: [9fans] libc/strcmp bug?
@ 2002-08-10 3:23 Skip Tavakkolian
0 siblings, 0 replies; 5+ messages in thread
From: Skip Tavakkolian @ 2002-08-10 3:23 UTC (permalink / raw)
To: 9fans
Of course. My mistake.
> Not a libc bug. Making sure that arguments of strcmp() are non-NULL is
> responsibility of caller.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [9fans] libc/strcmp bug?
2002-08-10 0:35 Skip Tavakkolian
2002-08-10 4:46 ` Alexander Viro
@ 2002-08-10 23:43 ` david presotto
1 sibling, 0 replies; 5+ messages in thread
From: david presotto @ 2002-08-10 23:43 UTC (permalink / raw)
To: 9fans
That's a bug in marshal.
----- Original Message -----
From: "Skip Tavakkolian" <fst@centurytel.net>
To: <9fans@cse.psu.edu>
Sent: Friday, August 09, 2002 8:35 PM
Subject: [9fans] libc/strcmp bug?
> I believe there is a bug in /sys/src/libc/port/strcmp.c, because it
> does not check for null pointers getting passed in before
> dereferencing them. I ran into it when attempting to Post some mail;
> 'marshal' dies with this message:
>
> marshal 2014: suicide: sys: trap: fault read addr=0x0 pc=0x00006feb
>
> Inspection points to the strcmp:
>
> term% acid 2014
> /proc/2014/text:386 plan 9 executable
>
> /sys/lib/acid/port
> /sys/lib/acid/386
> acid: stk()
> At pc:0x00006feb:strcmp+0xe /sys/src/libc/port/strcmp.c:10
> strcmp(s1=0x00000000,s2=0x00013c5a) /sys/src/libc/port/strcmp.c:5
> called from islikeatty+0x32 /sys/src/cmd/upas/common/libsys.c:709
> islikeatty(fd=0x00000000) /sys/src/cmd/upas/common/libsys.c:701
> called from holdon+0xf /sys/src/cmd/upas/common/libsys.c:719
> holdon() /sys/src/cmd/upas/common/libsys.c:715
> called from main+0x856 /sys/src/cmd/upas/marshal/marshal.c:271
> main(argv=0x7fffefec,argc=0x00000000)
/sys/src/cmd/upas/marshal/marshal.c:162
> called from _main+0x31 /sys/src/libc/386/main9.s:16
> acid:
>
> I'm not sure why the first arg to strcmp was null. I'm still
investigating.
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [9fans] libc/strcmp bug?
2002-08-10 4:46 ` Alexander Viro
@ 2002-08-10 5:44 ` arisawa
0 siblings, 0 replies; 5+ messages in thread
From: arisawa @ 2002-08-10 5:44 UTC (permalink / raw)
To: 9fans
Hello,
Viro said:
>On Fri, 9 Aug 2002, Skip Tavakkolian wrote:
>
>> I believe there is a bug in /sys/src/libc/port/strcmp.c, because
it
>> does not check for null pointers getting passed in before
>> dereferencing them.
>
>Not a libc bug. Making sure that arguments of strcmp() are
non-NULL >is responsibility of caller.
I agree with Viro.
If null pointer is allowed, strcmp() should be something like
bellow:
int
xstrcmp(char *s, char *t)
{
if(s == nil){
if(t)
return -1;
return 0;
}
if(t)
return strcmp(s,t);
return 1;
}
I used this code somewhere because it was useful.
Kenji Arisawa
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [9fans] libc/strcmp bug?
2002-08-10 0:35 Skip Tavakkolian
@ 2002-08-10 4:46 ` Alexander Viro
2002-08-10 5:44 ` arisawa
2002-08-10 23:43 ` david presotto
1 sibling, 1 reply; 5+ messages in thread
From: Alexander Viro @ 2002-08-10 4:46 UTC (permalink / raw)
To: 9fans
On Fri, 9 Aug 2002, Skip Tavakkolian wrote:
> I believe there is a bug in /sys/src/libc/port/strcmp.c, because it
> does not check for null pointers getting passed in before
> dereferencing them.
Not a libc bug. Making sure that arguments of strcmp() are non-NULL is
responsibility of caller.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [9fans] libc/strcmp bug?
@ 2002-08-10 0:35 Skip Tavakkolian
2002-08-10 4:46 ` Alexander Viro
2002-08-10 23:43 ` david presotto
0 siblings, 2 replies; 5+ messages in thread
From: Skip Tavakkolian @ 2002-08-10 0:35 UTC (permalink / raw)
To: 9fans
I believe there is a bug in /sys/src/libc/port/strcmp.c, because it
does not check for null pointers getting passed in before
dereferencing them. I ran into it when attempting to Post some mail;
'marshal' dies with this message:
marshal 2014: suicide: sys: trap: fault read addr=0x0 pc=0x00006feb
Inspection points to the strcmp:
term% acid 2014
/proc/2014/text:386 plan 9 executable
/sys/lib/acid/port
/sys/lib/acid/386
acid: stk()
At pc:0x00006feb:strcmp+0xe /sys/src/libc/port/strcmp.c:10
strcmp(s1=0x00000000,s2=0x00013c5a) /sys/src/libc/port/strcmp.c:5
called from islikeatty+0x32 /sys/src/cmd/upas/common/libsys.c:709
islikeatty(fd=0x00000000) /sys/src/cmd/upas/common/libsys.c:701
called from holdon+0xf /sys/src/cmd/upas/common/libsys.c:719
holdon() /sys/src/cmd/upas/common/libsys.c:715
called from main+0x856 /sys/src/cmd/upas/marshal/marshal.c:271
main(argv=0x7fffefec,argc=0x00000000) /sys/src/cmd/upas/marshal/marshal.c:162
called from _main+0x31 /sys/src/libc/386/main9.s:16
acid:
I'm not sure why the first arg to strcmp was null. I'm still investigating.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-08-10 23:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-10 3:23 [9fans] libc/strcmp bug? Skip Tavakkolian
-- strict thread matches above, loose matches on Subject: below --
2002-08-10 0:35 Skip Tavakkolian
2002-08-10 4:46 ` Alexander Viro
2002-08-10 5:44 ` arisawa
2002-08-10 23:43 ` david presotto
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).