contrib/vhost-user-input: avoid g_return_val_if() input validation
authorStefan Hajnoczi <stefanha@redhat.com>
Wed, 18 Nov 2020 09:16:43 +0000 (09:16 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 9 Dec 2020 18:04:17 +0000 (13:04 -0500)
Do not validate input with g_return_val_if(). This API is intended for
checking programming errors and is compiled out with -DG_DISABLE_CHECKS.

Use an explicit if statement for input validation so it cannot
accidentally be compiled out.

Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20201118091644.199527-4-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
contrib/vhost-user-input/main.c

index 3ea840cf44f9960a763f56c0d705a668b9d4dfab..d2de47cee7fece25c3282e2795294c01a3b2a50c 100644 (file)
@@ -211,7 +211,9 @@ static int vi_get_config(VuDev *dev, uint8_t *config, uint32_t len)
 {
     VuInput *vi = container_of(dev, VuInput, dev.parent);
 
-    g_return_val_if_fail(len <= sizeof(*vi->sel_config), -1);
+    if (len > sizeof(*vi->sel_config)) {
+        return -1;
+    }
 
     if (vi->sel_config) {
         memcpy(config, vi->sel_config, len);