]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
blockjob: avoid 32-bit compilation warning
authorEric Blake <eblake@redhat.com>
Mon, 8 Sep 2014 14:50:48 +0000 (08:50 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 8 Sep 2014 14:50:48 +0000 (08:50 -0600)
Commit c1d75de caused this warning on 32-bit platforms (fatal when
-Werror is enabled):

virsh-domain.c: In function 'cmdBlockCopy':
virsh-domain.c:2003:17: error: comparison is always false due to limited range of data type [-Werror=type-limits]

Forcing the left side of the < to be ull instead of ul shuts up
the 32-bit compiler while still protecting 64-bit code from overflow.

* tools/virsh-domain.c (cmdBlockCopy): Add type coercion.

Signed-off-by: Eric Blake <eblake@redhat.com>
tools/virsh-domain.c

index 39ff798ab3b5f722d6ad49b763ea39ecae685e5d..ed2e3eab5f2d8508827c889dcd40ff777c05871d 100644 (file)
@@ -2000,7 +2000,7 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd)
             if (bandwidth) {
                 /* bandwidth is ulong MiB/s, but the typed parameter is
                  * ullong bytes/s; make sure we don't overflow */
-                if (bandwidth > ULLONG_MAX >> 20) {
+                if (bandwidth + 0ULL > ULLONG_MAX >> 20) {
                     virReportError(VIR_ERR_OVERFLOW,
                                    _("bandwidth must be less than %llu"),
                                    ULLONG_MAX >> 20);