luanti-org/luanti

SRP Auth: Possibly uninitialized variable compiler warning

Open

#14,813 opened on Jul 3, 2024

View on GitHub
 (5 comments) (0 reactions) (0 assignees)C++ (2,395 forks)auto 404
@ BuildBugLow prioritygood first issue

Repository metrics

Stars
 (13,341 stars)
PR merge metrics
 (PR metrics pending)

Description

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

Contributor guide