]> xenbits.xensource.com Git - xen.git/commitdiff
libxl: use llabs() instead abs() for int64_t argument
authorJuergen Gross <jgross@suse.com>
Tue, 2 Aug 2016 17:25:42 +0000 (19:25 +0200)
committerWei Liu <wei.liu2@citrix.com>
Wed, 3 Aug 2016 09:46:58 +0000 (10:46 +0100)
Commit 57f8b13c724023c78fa15a80452d1de3e51a1418 ("libxl: memory size
in kb requires 64 bit variable") introduced a bug: abs() shouldn't
be called with an int64_t argument. llabs() is to be used here.

Caught by clang build with error message:

libxl.c:4198:33: error: absolute value function 'abs' given an argument
of type
    'int64_t' (aka 'long') but has parameter of type 'int' which may cause
    truncation of value [-Werror,-Wabsolute-value]
    if (target_memkb < 0 && abs(target_memkb) > current_target_memkb)

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl.c

index de8f058db3425a6b8213e7b0e0dba0d95361c3d5..7bd3e8ccac802ec4a710df254728dfaa74a87542 100644 (file)
@@ -4195,7 +4195,7 @@ retry_transaction:
     videoram = videoram_s ? atoi(videoram_s) : 0;
 
     if (relative) {
-        if (target_memkb < 0 && abs(target_memkb) > current_target_memkb)
+        if (target_memkb < 0 && llabs(target_memkb) > current_target_memkb)
             new_target_memkb = 0;
         else
             new_target_memkb = current_target_memkb + target_memkb;