luanti-org/luanti

SRP Auth: Possibly uninitialized variable compiler warning

Aperta

#14.813 aperta il 3 lug 2024

 (5 commenti) (0 reazioni) (0 assegnatari)C++ (2395 fork)auto 404
@ BuildBugLow prioritygood first issue

Metriche repository

Star
 (13.341 stelle)
Metriche merge PR
 (Merge medio 13g 22h) (48 PR mergiate in 30 g)

Descrizione

Minetest version

Minetest 5.9.0-dev-fcb4f25 (Linux)
Using LuaJIT 2.1.0-beta3
Built by GCC 12.2
Running on Linux/6.6.31+rpt-rpi-v8 aarch64
BUILD_TYPE=Release
RUN_IN_PLACE=1
USE_CURL=1
USE_GETTEXT=1
USE_SOUND=1
STATIC_SHAREDIR="."
STATIC_LOCALEDIR="locale"

Irrlicht device

No response

Operating system and version

Raspberry Pi OS 64Bit

CPU model

No response

GPU model

No response

Active renderer

No response

Summary

While building the code I get two errors in the last step:

[100%] Linking CXX executable ../bin/minetest
In function ‘copy’,
    inlined from ‘_S_copy’ at /usr/include/c++/12/bits/basic_string.h:423:0,
    inlined from ‘_S_copy’ at /usr/include/c++/12/bits/basic_string.h:418:7,
    inlined from ‘_S_copy_chars’ at /usr/include/c++/12/bits/basic_string.h:477:16,
    inlined from ‘_M_construct’ at /usr/include/c++/12/bits/basic_string.tcc:243:21,
    inlined from ‘__ct ’ at /usr/include/c++/12/bits/basic_string.h:620:14,
    inlined from ‘generate_srp_verifier_and_salt.constprop’ at /home/pi/Games/minetest/src/util/auth.cpp:91:19:
/usr/include/c++/12/bits/char_traits.h:425: warning: ‘verifier_len’ may be used uninitialized [-Wmaybe-uninitialized]
  425 |         if (__n == 0)
      | 
/home/pi/Games/minetest/src/util/auth.cpp: In function ‘generate_srp_verifier_and_salt.constprop’:
/home/pi/Games/minetest/src/util/auth.cpp:87:16: note: ‘verifier_len’ was declared here
   87 |         size_t verifier_len;
      |                ^

In member function ‘__ct ’,
    inlined from ‘construct’ at /usr/include/c++/12/bits/new_allocator.h:175:4,
    inlined from ‘construct’ at /usr/include/c++/12/bits/alloc_traits.h:516:17,
    inlined from ‘_M_realloc_insert’ at /usr/include/c++/12/bits/vector.tcc:462:28,
    inlined from ‘emplace_back’ at /usr/include/c++/12/bits/vector.tcc:123:21,
    inlined from ‘handleCommand_MediaPush’ at /home/pi/Games/minetest/src/network/clientpackethandler.cpp:1673:40:
/usr/include/c++/12/bits/stl_pair.h:535:11: warning: ‘token’ may be used uninitialized [-Wmaybe-uninitialized]
  535 |         : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
      |           ^
/home/pi/Games/minetest/src/network/clientpackethandler.cpp: In member function ‘handleCommand_MediaPush’:
/home/pi/Games/minetest/src/network/clientpackethandler.cpp:1626:13: note: ‘token’ was declared here
 1626 |         u32 token;
      |             ^
[100%] Built target minetest

First start seems quite okay instead.

Steps to reproduce

On a Raspberry Pi with 64bit:

cmake . -DRUN_IN_PLACE=TRUE make -j2

Guida contributor