libc/printf bug
- From: "bill pursell" <bill.pursell@xxxxxxxxx>
- Date: 27 Feb 2006 12:09:54 -0800
The following code exhibits unexpected behavior. Either it's
a bug in libc, or the author (me) is blind as a bat. Am I missing
something here, or is something horribly wrong? It appears
that printf is mangling the address unless the second argument
gets cast. I don't see that the cast should have any effect at all
on the output. Any thoughts?
[tmp]$ cat printf_bug.c
int
main()
{
float a=0;
printf("%p\n", &a);
printf("%x %p\n", a, &a);
printf("%x %p\n", (int)a, &a);
}
[tmp]$ ./a.out
0xfefb6764
0 (nil)
0 0xfefb6764
[tmp]$
.
- Follow-Ups:
- Re: libc/printf bug
- From: "Nils O. Selåsdal"
- Re: libc/printf bug
- From: Micah Cowan
- Re: libc/printf bug
- From: Måns Rullgård
- Re: libc/printf bug
- From: Jan Panteltje
- Re: libc/printf bug
- Prev by Date: Re: prevent multiple start of app
- Next by Date: Re: libc/printf bug
- Previous by thread: Panels frame in kcontrol
- Next by thread: Re: libc/printf bug
- Index(es):
Relevant Pages
|