[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