KVM: selftests: Assert that vasprintf() is successful
authorSean Christopherson <seanjc@google.com>
Thu, 14 Sep 2023 01:06:36 +0000 (18:06 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 20 Sep 2023 16:26:31 +0000 (12:26 -0400)
Assert that vasprintf() succeeds as the "returned" string is undefined
on failure.  Checking the result also eliminates the only warning with
default options in KVM selftests, i.e. is the only thing getting in the
way of compile with -Werror.

  lib/test_util.c: In function ‘strdup_printf’:
  lib/test_util.c:390:9: error: ignoring return value of ‘vasprintf’
  declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
  390 |         vasprintf(&str, fmt, ap);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~

Don't bother capturing the return value, allegedly vasprintf() can only
fail due to a memory allocation failure.

Fixes: dfaf20af7649 ("KVM: arm64: selftests: Replace str_with_index with strdup_printf")
Cc: Andrew Jones <ajones@ventanamicro.com>
Cc: Haibo Xu <haibo1.xu@intel.com>
Cc: Anup Patel <anup@brainfault.org>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Tested-by: Andrew Jones <ajones@ventanamicro.com>
Message-Id: <20230914010636.1391735-1-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/lib/test_util.c

index 3e36019..5d7f28b 100644 (file)
@@ -387,7 +387,7 @@ char *strdup_printf(const char *fmt, ...)
        char *str;
 
        va_start(ap, fmt);
-       vasprintf(&str, fmt, ap);
+       TEST_ASSERT(vasprintf(&str, fmt, ap) >= 0, "vasprintf() failed");
        va_end(ap);
 
        return str;