On 3/2/19 4:38 PM, Philippe Mathieu-Daudé wrote: > Since 552375088a8, error_set_errno() calls error_setv() which > already protect errno for clobbering. > Remove the now unnecessary saved_errno. > > Suggested-by: Thomas Huth <th...@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > util/error.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/util/error.c b/util/error.c > index 934a78e1b1..0402fa1b9d 100644 > --- a/util/error.c > +++ b/util/error.c > @@ -101,14 +101,11 @@ void error_setg_errno_internal(Error **errp, > int os_errno, const char *fmt, ...) > { > va_list ap; > - int saved_errno = errno; > > va_start(ap, fmt); > error_setv(errp, src, line, func, ERROR_CLASS_GENERIC_ERROR, fmt, ap, > os_errno != 0 ? strerror(os_errno) : NULL); > va_end(ap); > - > - errno = saved_errno;
NACK. strerror() can clobber errno, so you still need to restore saved_errno, regardless of what error_setv() does internally. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org