[libvirt] [PATCHv2 4/4] Remove erroneous setting of return value to errno.
Daniel Veillard
veillard at redhat.com
Wed Jul 21 15:21:11 UTC 2010
On Mon, Jul 19, 2010 at 09:21:55PM -0400, Laine Stump wrote:
> One error exit in virStorageBackendCreateBlockFrom was setting the
> return value to errno. The convention for volume build functions is to
> return 0 on success or -1 on failure. Not only was it not necessary to
> set the return value (it defaults to -1, and is set to 0 when
> everything has been successfully completed), in the case that some
> caller were checking for < 0 rather than != 0, they would incorrectly
> believe that it completed successfully.
> ---
> src/storage/storage_backend.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
> index 5b61bba..d989743 100644
> --- a/src/storage/storage_backend.c
> +++ b/src/storage/storage_backend.c
> @@ -232,7 +232,6 @@ virStorageBackendCreateBlockFrom(virConnectPtr conn ATTRIBUTE_UNUSED,
> }
>
> if (fstat(fd, &st) == -1) {
> - ret = errno;
> virReportSystemError(errno, _("stat of '%s' failed"),
> vol->target.path);
> goto cleanup;
ACK, but it seems to me ret being initialized to -1, maybe it's better
to be consistent and on all error do a ret = -errno; before
virReportSystemError and the goto cleanup.
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list