diff mbox series

[05/12] qga: fix -Wsometimes-uninitialized windows warning

Message ID 20241031040426.772604-6-pierrick.bouvier@linaro.org (mailing list archive)
State New
Headers show
Series Enable building plugins on Windows with Clang | expand

Commit Message

Pierrick Bouvier Oct. 31, 2024, 4:04 a.m. UTC
Reported by clang, but not gcc.

[5123/5678] Compiling C object qga/qemu-ga.exe.p/commands-windows-ssh.c.obj
FAILED: qga/qemu-ga.exe.p/commands-windows-ssh.c.obj
"cc" "-Iqga/qemu-ga.exe.p" "-Iqga" "-I../qga" "-I." "-Iqapi" "-Itrace" "-Iui" "-Iui/shader" "-IC:/msys64/clangarm64/include/glib-2.0" "-IC:/msys64/clangarm64/lib/glib-2.0/include" "-fdiagnostics-color=auto" "-Wall" "-Winvalid-pch" "-Werror" "-std=gnu11" "-O2" "-g" "-fstack-protector-strong" "-Wempty-body" "-Wendif-labels" "-Wexpansion-to-defined" "-Wformat-security" "-Wformat-y2k" "-Wignored-qualifiers" "-Winit-self" "-Wmissing-format-attribute" "-Wmissing-prototypes" "-Wnested-externs" "-Wold-style-definition" "-Wredundant-decls" "-Wstrict-prototypes" "-Wtype-limits" "-Wundef" "-Wvla" "-Wwrite-strings" "-Wno-gnu-variable-sized-type-not-at-end" "-Wno-initializer-overrides" "-Wno-missing-include-dirs" "-Wno-psabi" "-Wno-shift-negative-value" "-Wno-string-plus-int" "-Wno-tautological-type-limit-compare" "-Wno-typedef-redefinition" "-Wthread-safety" "-iquote" "." "-iquote" "C:/w/qemu" "-iquote" "C:/w/qemu/include" "-iquote" "C:/w/qemu/host/include/aarch64" "-iquote" "C:/w/qemu/host/include/generic" "-iquote" "C:/w/qemu/tcg/aarch64" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE" "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-fno-pie" "-ftrivial-auto-var-init=zero" "-fzero-call-used-regs=used-gpr" -MD -MQ qga/qemu-ga.exe.p/commands-windows-ssh.c.obj -MF "qga/qemu-ga.exe.p/commands-windows-ssh.c.obj.d" -o qga/qemu-ga.exe.p/commands-windows-ssh.c.obj "-c" ../qga/commands-windows-ssh.c
../qga/commands-windows-ssh.c:383:9: error: variable 'userPSID' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
  383 |     if (!create_acl(userInfo, &pACL, errp)) {
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../qga/commands-windows-ssh.c:415:15: note: uninitialized use occurs here
  415 |     LocalFree(userPSID);
      |               ^~~~~~~~
../qga/commands-windows-ssh.c:383:5: note: remove the 'if' if its condition is always false
  383 |     if (!create_acl(userInfo, &pACL, errp)) {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  384 |         goto error;
      |         ~~~~~~~~~~~
  385 |     }
      |     ~
../qga/commands-windows-ssh.c:380:18: note: initialize the variable 'userPSID' to silence this warning
  380 |     PSID userPSID;
      |                  ^
      |                   = NULL
1 error generated.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
 qga/commands-windows-ssh.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Konstantin Kostiuk Oct. 31, 2024, 1:32 p.m. UTC | #1
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>

On Thu, Oct 31, 2024 at 6:05 AM Pierrick Bouvier <
pierrick.bouvier@linaro.org> wrote:

> Reported by clang, but not gcc.
>
> [5123/5678] Compiling C object qga/qemu-ga.exe.p/commands-windows-ssh.c.obj
> FAILED: qga/qemu-ga.exe.p/commands-windows-ssh.c.obj
> "cc" "-Iqga/qemu-ga.exe.p" "-Iqga" "-I../qga" "-I." "-Iqapi" "-Itrace"
> "-Iui" "-Iui/shader" "-IC:/msys64/clangarm64/include/glib-2.0"
> "-IC:/msys64/clangarm64/lib/glib-2.0/include" "-fdiagnostics-color=auto"
> "-Wall" "-Winvalid-pch" "-Werror" "-std=gnu11" "-O2" "-g"
> "-fstack-protector-strong" "-Wempty-body" "-Wendif-labels"
> "-Wexpansion-to-defined" "-Wformat-security" "-Wformat-y2k"
> "-Wignored-qualifiers" "-Winit-self" "-Wmissing-format-attribute"
> "-Wmissing-prototypes" "-Wnested-externs" "-Wold-style-definition"
> "-Wredundant-decls" "-Wstrict-prototypes" "-Wtype-limits" "-Wundef" "-Wvla"
> "-Wwrite-strings" "-Wno-gnu-variable-sized-type-not-at-end"
> "-Wno-initializer-overrides" "-Wno-missing-include-dirs" "-Wno-psabi"
> "-Wno-shift-negative-value" "-Wno-string-plus-int"
> "-Wno-tautological-type-limit-compare" "-Wno-typedef-redefinition"
> "-Wthread-safety" "-iquote" "." "-iquote" "C:/w/qemu" "-iquote"
> "C:/w/qemu/include" "-iquote" "C:/w/qemu/host/include/aarch64" "-iquote"
> "C:/w/qemu/host/include/generic" "-iquote" "C:/w/qemu/tcg/aarch64"
> "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE"
> "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-fno-pie"
> "-ftrivial-auto-var-init=zero" "-fzero-call-used-regs=used-gpr" -MD -MQ
> qga/qemu-ga.exe.p/commands-windows-ssh.c.obj -MF
> "qga/qemu-ga.exe.p/commands-windows-ssh.c.obj.d" -o
> qga/qemu-ga.exe.p/commands-windows-ssh.c.obj "-c"
> ../qga/commands-windows-ssh.c
> ../qga/commands-windows-ssh.c:383:9: error: variable 'userPSID' is used
> uninitialized whenever 'if' condition is true
> [-Werror,-Wsometimes-uninitialized]
>   383 |     if (!create_acl(userInfo, &pACL, errp)) {
>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../qga/commands-windows-ssh.c:415:15: note: uninitialized use occurs here
>   415 |     LocalFree(userPSID);
>       |               ^~~~~~~~
> ../qga/commands-windows-ssh.c:383:5: note: remove the 'if' if its
> condition is always false
>   383 |     if (!create_acl(userInfo, &pACL, errp)) {
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   384 |         goto error;
>       |         ~~~~~~~~~~~
>   385 |     }
>       |     ~
> ../qga/commands-windows-ssh.c:380:18: note: initialize the variable
> 'userPSID' to silence this warning
>   380 |     PSID userPSID;
>       |                  ^
>       |                   = NULL
> 1 error generated.
>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
> ---
>  qga/commands-windows-ssh.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/qga/commands-windows-ssh.c b/qga/commands-windows-ssh.c
> index 6a642e3ba81..df45c17b757 100644
> --- a/qga/commands-windows-ssh.c
> +++ b/qga/commands-windows-ssh.c
> @@ -377,7 +377,7 @@ error:
>  static bool set_file_permissions(PWindowsUserInfo userInfo, Error **errp)
>  {
>      PACL pACL = NULL;
> -    PSID userPSID;
> +    PSID userPSID = NULL;
>
>      /* Creates the access control structure */
>      if (!create_acl(userInfo, &pACL, errp)) {
> --
> 2.39.5
>
>
Konstantin Kostiuk Nov. 4, 2024, 1:43 p.m. UTC | #2
Hi Pierrick,

I got this patch in my PULL with QGA patches.

Best Regards,
Konstantin Kostiuk.

On Thu, Oct 31, 2024 at 3:32 PM Konstantin Kostiuk <kkostiuk@redhat.com>
wrote:

> Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
>
> On Thu, Oct 31, 2024 at 6:05 AM Pierrick Bouvier <
> pierrick.bouvier@linaro.org> wrote:
>
>> Reported by clang, but not gcc.
>>
>> [5123/5678] Compiling C object
>> qga/qemu-ga.exe.p/commands-windows-ssh.c.obj
>> FAILED: qga/qemu-ga.exe.p/commands-windows-ssh.c.obj
>> "cc" "-Iqga/qemu-ga.exe.p" "-Iqga" "-I../qga" "-I." "-Iqapi" "-Itrace"
>> "-Iui" "-Iui/shader" "-IC:/msys64/clangarm64/include/glib-2.0"
>> "-IC:/msys64/clangarm64/lib/glib-2.0/include" "-fdiagnostics-color=auto"
>> "-Wall" "-Winvalid-pch" "-Werror" "-std=gnu11" "-O2" "-g"
>> "-fstack-protector-strong" "-Wempty-body" "-Wendif-labels"
>> "-Wexpansion-to-defined" "-Wformat-security" "-Wformat-y2k"
>> "-Wignored-qualifiers" "-Winit-self" "-Wmissing-format-attribute"
>> "-Wmissing-prototypes" "-Wnested-externs" "-Wold-style-definition"
>> "-Wredundant-decls" "-Wstrict-prototypes" "-Wtype-limits" "-Wundef" "-Wvla"
>> "-Wwrite-strings" "-Wno-gnu-variable-sized-type-not-at-end"
>> "-Wno-initializer-overrides" "-Wno-missing-include-dirs" "-Wno-psabi"
>> "-Wno-shift-negative-value" "-Wno-string-plus-int"
>> "-Wno-tautological-type-limit-compare" "-Wno-typedef-redefinition"
>> "-Wthread-safety" "-iquote" "." "-iquote" "C:/w/qemu" "-iquote"
>> "C:/w/qemu/include" "-iquote" "C:/w/qemu/host/include/aarch64" "-iquote"
>> "C:/w/qemu/host/include/generic" "-iquote" "C:/w/qemu/tcg/aarch64"
>> "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE"
>> "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-fno-pie"
>> "-ftrivial-auto-var-init=zero" "-fzero-call-used-regs=used-gpr" -MD -MQ
>> qga/qemu-ga.exe.p/commands-windows-ssh.c.obj -MF
>> "qga/qemu-ga.exe.p/commands-windows-ssh.c.obj.d" -o
>> qga/qemu-ga.exe.p/commands-windows-ssh.c.obj "-c"
>> ../qga/commands-windows-ssh.c
>> ../qga/commands-windows-ssh.c:383:9: error: variable 'userPSID' is used
>> uninitialized whenever 'if' condition is true
>> [-Werror,-Wsometimes-uninitialized]
>>   383 |     if (!create_acl(userInfo, &pACL, errp)) {
>>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ../qga/commands-windows-ssh.c:415:15: note: uninitialized use occurs here
>>   415 |     LocalFree(userPSID);
>>       |               ^~~~~~~~
>> ../qga/commands-windows-ssh.c:383:5: note: remove the 'if' if its
>> condition is always false
>>   383 |     if (!create_acl(userInfo, &pACL, errp)) {
>>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>   384 |         goto error;
>>       |         ~~~~~~~~~~~
>>   385 |     }
>>       |     ~
>> ../qga/commands-windows-ssh.c:380:18: note: initialize the variable
>> 'userPSID' to silence this warning
>>   380 |     PSID userPSID;
>>       |                  ^
>>       |                   = NULL
>> 1 error generated.
>>
>> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
>> ---
>>  qga/commands-windows-ssh.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/qga/commands-windows-ssh.c b/qga/commands-windows-ssh.c
>> index 6a642e3ba81..df45c17b757 100644
>> --- a/qga/commands-windows-ssh.c
>> +++ b/qga/commands-windows-ssh.c
>> @@ -377,7 +377,7 @@ error:
>>  static bool set_file_permissions(PWindowsUserInfo userInfo, Error **errp)
>>  {
>>      PACL pACL = NULL;
>> -    PSID userPSID;
>> +    PSID userPSID = NULL;
>>
>>      /* Creates the access control structure */
>>      if (!create_acl(userInfo, &pACL, errp)) {
>> --
>> 2.39.5
>>
>>
diff mbox series

Patch

diff --git a/qga/commands-windows-ssh.c b/qga/commands-windows-ssh.c
index 6a642e3ba81..df45c17b757 100644
--- a/qga/commands-windows-ssh.c
+++ b/qga/commands-windows-ssh.c
@@ -377,7 +377,7 @@  error:
 static bool set_file_permissions(PWindowsUserInfo userInfo, Error **errp)
 {
     PACL pACL = NULL;
-    PSID userPSID;
+    PSID userPSID = NULL;
 
     /* Creates the access control structure */
     if (!create_acl(userInfo, &pACL, errp)) {