[libvirt] [PATCH] storage: tweak condition to properly test lseek
Eric Blake
eblake at redhat.com
Tue Mar 3 19:10:46 UTC 2015
On 03/03/2015 08:57 AM, Erik Skultety wrote:
> According to the POSIX standard, off_t (returned by lseek) is defined as
> signed integral type no shorter than int. Because our offset variable is defined
> as unsigned long long, the original check was passed successfully if UINT64_MAX had
> been used as offset value, due to implicit conversion.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1177219
> ---
> src/fdstream.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
ACK.
>
> diff --git a/src/fdstream.c b/src/fdstream.c
> index 5d80fc2..b8ea86e 100644
> --- a/src/fdstream.c
> +++ b/src/fdstream.c
> @@ -610,7 +610,7 @@ virFDStreamOpenFileInternal(virStreamPtr st,
> }
>
> if (offset &&
> - lseek(fd, offset, SEEK_SET) != offset) {
> + lseek(fd, offset, SEEK_SET) < 0) {
> virReportSystemError(errno,
> _("Unable to seek %s to %llu"),
> path, offset);
>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150303/0813a269/attachment-0001.sig>
More information about the libvir-list
mailing list