]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virFileReadLimFD: Cast maxlen to size_t before adding
authorTim Wiederhake <twiederh@redhat.com>
Thu, 22 Jul 2021 08:30:21 +0000 (10:30 +0200)
committerTim Wiederhake <twiederh@redhat.com>
Thu, 22 Jul 2021 11:50:39 +0000 (13:50 +0200)
If the function is called with maxlen equal to `INT_MAX`, adding
one will trigger a signed integer overflow.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
src/util/virfile.c

index 723e1ca6e56f20813792a07611bd4909e72c3910..ad491251a2f2a1525ebb10a375b30b7d0b68599d 100644 (file)
@@ -1422,7 +1422,7 @@ virFileReadLimFD(int fd, int maxlen, char **buf)
         errno = EINVAL;
         return -1;
     }
-    s = saferead_lim(fd, maxlen+1, &len);
+    s = saferead_lim(fd, (size_t) maxlen + 1, &len);
     if (s == NULL)
         return -1;
     if (len > maxlen || (int)len != len) {