[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libvirt] [PATCH] Ensure virStrerror always sets an error string
From: |
Daniel P. Berrange |
Subject: |
Re: [libvirt] [PATCH] Ensure virStrerror always sets an error string |
Date: |
Wed, 18 May 2011 19:23:40 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, May 18, 2011 at 11:27:28AM -0600, Eric Blake wrote:
> [adding bug-gnulib]
>
> On 05/18/2011 11:07 AM, Daniel P. Berrange wrote:
> > strerror_r() is free to not set any error string, if the passed
> > errno is not valid. It may, however, still return a pointer to
> > the original passed in buffer. This resulting in random garbage
> > from the stack being present as the error string.
>
> Indeed. However, I'm inclined to NACK the libvirt patch, because:
>
> Right now, gnulib guarantees that strerror() always gives a useful
> result (non-empty string for all errno values, even though POSIX allows
> an empty string), but the strerror_r-posix module is not making those
> same guarantees.
>
> Therefore, I argue that this is a bug in gnulib. We should be changing
> the strerror_r-posix module to guarantee sane behavior, rather than just
> bare-minimum compliance, even if that means replacing strerror_r on a
> few more platforms.
Yeah, if gnulib wants to fix this, that's fine with me.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|