[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: glibc segfault on "special" long double values is _ok_!?

From: Jan-Benedict Glaw
Subject: Re: glibc segfault on "special" long double values is _ok_!?
Date: Fri, 8 Jun 2007 00:53:30 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

On Thu, 2007-06-07 13:57:17 -0400, Tor Myklebust <address@hidden> wrote:
> On Thu, 7 Jun 2007, Jan-Benedict Glaw wrote:
> >There's a difference in
> >
> >     void send_float (float foo, int fd) {
> >             write (fd, &foo, sizeof (float));
> >     }
> >
> >and
> >
> >     void send_float (float foo, int fd) {
> >             char buf[100];
> >             snprintf (buf, sizeof (buf), "%f", foo);
> >             write (fd, buf, strlen (buf));
> >     }
> >
> >The second variant surely burns more CPU cycles, even on both sides,
> >but it'll easily work even for different architectures. (I just think
> >about VAX where the CPU FP support is made up of four non-IEEE float
> >types...)
> And the second variant can segfault if you replace 'float' by 'long 
> double' (changing the format string appropriately) and you feed it 
> something bad.  Why is this a good thing?

Where shall this invalid long double come from? The CPU won't generate
it itself. And if you play tricks and printf() a known-bad long double
from inside your application, that app doesn't deserve any better than


      Jan-Benedict Glaw      address@hidden              +49-172-7608481
Signature of:  The course of history shows that as a government grows, liberty
the second  : decreases."  (Thomas Jefferson)

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]