[libvirt] [PATCH] Ensure virStrerror always sets an error string

Daniel P. Berrange berrange at redhat.com
Wed May 18 18:23:40 UTC 2011


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 :|




More information about the libvir-list mailing list