PVS-Studio Analysis Results


Date:Sun Aug 9 13:36:05 2026
PVS-Studio Version:7.43.107281.803
Command Line:plog-converter -a GA\:1,2,3 -t fullhtml -o /var/www/pvs-studio/libzmq /var/www/pvs-studio/libzmq.plog
Total Warnings (GA):128
Group Location Level Code Message
General Analysis dbuffer.hpp:34 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _storage.
General Analysis dish.cpp:213 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _group_msg.
General Analysis epoll.cpp:176 Medium V547 Expression 'pe->fd == retired_fd' is always false.
General Analysis epoll.cpp:180 Medium V547 Expression 'pe->fd == retired_fd' is always false.
General Analysis epoll.cpp:65 Medium V575 The potential null pointer is passed into 'memset' function. Inspect the first argument. Check lines: 65, 60.
General Analysis generic_mtrie_impl.hpp:20 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _next.
General Analysis generic_mtrie_impl.hpp:63 Medium V522 There might be dereferencing of a potential null pointer 'it->_next.table'. Check lines: 63, 60.
General Analysis generic_mtrie_impl.hpp:185 Medium V522 There might be dereferencing of a potential null pointer 'buff'. Check lines: 185, 173.
General Analysis generic_mtrie_impl.hpp:357 Medium V575 The potential null pointer is passed into 'memmove' function. Inspect the first argument. Check lines: 357, 353.
General Analysis generic_mtrie_impl.hpp:486 Medium V575 The potential null pointer is passed into 'memmove' function. Inspect the first argument. Check lines: 486, 483.
General Analysis generic_mtrie_impl.hpp:70 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'it->_next.table' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis generic_mtrie_impl.hpp:79 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'it->_next.table' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis generic_mtrie_impl.hpp:173 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'buff' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis generic_mtrie_impl.hpp:123 Low V522 There might be dereferencing of a potential null pointer 'it->_pipes'.
General Analysis generic_mtrie_impl.hpp:299 Low V547 Expression 'it.node->_count > 1' is always true.
General Analysis ip_resolver.cpp:312 Low V547 Expression 'resolved == true' is always true.
General Analysis ipc_address.cpp:13 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _addrlen.
General Analysis mechanism.cpp:306 Low V1037 Two or more case-branches perform the same actions. Check lines: 306, 312
General Analysis mechanism.cpp:309 Low V1037 Two or more case-branches perform the same actions. Check lines: 309, 315
General Analysis msg.cpp:547 Low V769 The pointer in the expression could be nullptr. In such case, resulting value will be senseless and it should not be used.
General Analysis msg.hpp:300 Medium V1071 Consider inspecting the 'close_and_return' function. The return value is not always used. Total calls: 28, discarded results: 1.
General Analysis options.cpp:170 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: routing_id.
General Analysis options.cpp:1068 Medium V1048 The '* optvallen_' variable was assigned the same value.
General Analysis peer.cpp:12 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _peer_last_routing_id.
General Analysis pipe.cpp:46 Medium V522 There might be dereferencing of a potential null pointer 'pipes_[0]'.
General Analysis pipe.cpp:47 Medium V522 There might be dereferencing of a potential null pointer 'pipes_[1]'.
General Analysis plain_client.cpp:109 Low V1029 Numeric Truncation Error. Return value of the 'length' function is written to the 8-bit variable.
General Analysis plain_client.cpp:113 Low V1029 Numeric Truncation Error. Return value of the 'length' function is written to the 8-bit variable.
General Analysis plain_common.hpp:20 Medium V1074 Boundary between escape sequence and string is unclear. The escape sequence ends with a letter and the next character is also a letter. Check for typos.
General Analysis polling_util.hpp:26 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _static_buf.
General Analysis polling_util.hpp:145 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _fd_set.
General Analysis proxy.cpp:308 Low V522 There might be dereferencing of a potential null pointer 'poller_both_blocked'.
General Analysis proxy.cpp:314 Low V522 There might be dereferencing of a potential null pointer 'poller_send_blocked'.
General Analysis proxy.cpp:331 Low V522 There might be dereferencing of a potential null pointer 'poller_frontend_only'.
General Analysis proxy.cpp:334 Low V522 There might be dereferencing of a potential null pointer 'poller_backend_only'.
General Analysis radio.cpp:172 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _pending_msg.
General Analysis radix_tree.cpp:375 Low V547 Expression 'key_bytes_matched == key_size_' is always true.
General Analysis router.cpp:446 Low V547 Expression '!options.raw_socket' is always true.
General Analysis server.cpp:54 Low V783 Dereferencing of the invalid iterator 'it' might take place.
General Analysis session_base.cpp:607 Medium V522 There might be dereferencing of a potential null pointer.
General Analysis session_base.cpp:680 Medium V522 There might be dereferencing of a potential null pointer 'engine'.
General Analysis socket_base.cpp:2176 High V1098 The emplace function call contains potentially dangerous move operation. Moved object can be destroyed even if there is no insertion. Check the 'std::move(routing_id_)' argument.
General Analysis socket_base.cpp:218 Medium V522 There might be dereferencing of a potential null pointer 's'.
General Analysis socket_base.cpp:260 Medium V522 There might be dereferencing of a potential null pointer 'm'.
General Analysis socket_base.cpp:605 Medium V522 There might be dereferencing of a potential null pointer 'paddr'.
General Analysis socket_base.cpp:607 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.udp_addr'.
General Analysis socket_base.cpp:657 Medium V522 There might be dereferencing of a potential null pointer 'listener'.
General Analysis socket_base.cpp:685 Medium V522 There might be dereferencing of a potential null pointer 'listener'.
General Analysis socket_base.cpp:708 Medium V522 There might be dereferencing of a potential null pointer 'listener'.
General Analysis socket_base.cpp:730 Medium V522 There might be dereferencing of a potential null pointer 'listener'.
General Analysis socket_base.cpp:775 Medium V522 There might be dereferencing of a potential null pointer 'listener'.
General Analysis socket_base.cpp:985 Medium V522 There might be dereferencing of a potential null pointer 'paddr'.
General Analysis socket_base.cpp:993 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.wss_addr'.
General Analysis socket_base.cpp:1002 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.ws_addr'.
General Analysis socket_base.cpp:1017 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.ipc_addr'.
General Analysis socket_base.cpp:1034 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.udp_addr'.
General Analysis socket_base.cpp:1061 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.tipc_addr'.
General Analysis socket_base.cpp:1095 Medium V522 There might be dereferencing of a potential null pointer 'paddr->resolved.vsock_addr'.
General Analysis socket_base.cpp:1167 Medium V522 There might be dereferencing of a potential null pointer 'tcp_addr'.
General Analysis socket_base.cpp:1691 Low V524 It is odd that the body of 'xleave' function is fully equivalent to the body of 'xjoin' function.
General Analysis socket_base.cpp:1704 Low V524 It is odd that the body of 'xrecv' function is fully equivalent to the body of 'xsend' function.
General Analysis socket_base.hpp:275 Medium V1071 Consider inspecting the 'process_commands' function. The return value is not always used. Total calls: 10, discarded results: 1.
General Analysis socks.cpp:30 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _buf.
General Analysis socks.cpp:71 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _buf.
General Analysis socks.cpp:113 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _buf.
General Analysis socks.cpp:159 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _buf.
General Analysis socks.cpp:201 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _buf.
General Analysis socks.cpp:282 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _buf.
General Analysis socks.cpp:123 Low V1029 Numeric Truncation Error. Return value of the 'size' function is written to the 8-bit variable.
General Analysis socks.cpp:126 Low V1029 Numeric Truncation Error. Return value of the 'size' function is written to the 8-bit variable.
General Analysis socks.cpp:241 Low V1029 Numeric Truncation Error. Return value of the 'size' function is written to the 8-bit variable.
General Analysis stream.cpp:259 Low V1029 Numeric Truncation Error. Return value of the 'size' function is written to the 8-bit variable.
General Analysis tcp_address.cpp:43 High V512 A call of the 'memcpy' function will lead to the 'sa_' buffer becoming out of range.
General Analysis tcp_connecter.cpp:176 Medium V522 There might be dereferencing of a potential null pointer 'tcp_addr'.
General Analysis thread.hpp:29 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _descriptor.
General Analysis trie.cpp:13 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _next.
General Analysis trie.cpp:62 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer '_next.table' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis trie.cpp:71 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer '_next.table' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis trie.cpp:268 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer '* buff_' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis trie.cpp:278 Low V522 There might be dereferencing of a potential null pointer '* buff_'. Check lines: 278, 268.
General Analysis udp_engine.cpp:31 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _raw_address, _out_address, _out_address_len, _out_buffer, _in_buffer.
General Analysis udp_engine.cpp:556 High V1010 Unchecked tainted data is used in the third argument: 'group_size'. Check lines: 556, 520.
General Analysis udp_engine.cpp:484 Medium V547 Expression 'rc != 11' is always true.
General Analysis udp_engine.cpp:530 Medium V547 Expression 'nbytes != 11' is always true.
General Analysis udp_engine.cpp:347 Low V575 The potential null pointer is passed into 'strlen' function. Inspect the first argument.
General Analysis v1_encoder.cpp:11 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _tmpbuf.
General Analysis v2_encoder.cpp:12 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _tmp_buf.
General Analysis v3_1_encoder.cpp:12 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _tmp_buf.
General Analysis vsock_address.cpp:58 High V547 Expression 'cid == - 1U' is always false.
General Analysis vsock_address.cpp:14 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: parent.
General Analysis vsock_connecter.cpp:171 Medium V522 There might be dereferencing of a potential null pointer '_addr->resolved.vsock_addr'.
General Analysis vsock_connecter.cpp:191 Medium V522 There might be dereferencing of a potential null pointer 'vsock_addr'.
General Analysis ws_address.cpp:41 High V512 A call of the 'memcpy' function will lead to the 'sa_' buffer becoming out of range.
General Analysis ws_decoder.cpp:14 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _opcode, _mask.
General Analysis ws_encoder.cpp:13 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _tmp_buf, _mask, _is_binary.
General Analysis ws_engine.cpp:64 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _read_buffer, _write_buffer, _header_name, _header_value.
General Analysis ws_engine.cpp:119 Medium V1032 The pointer 'nonce' is cast to a more strictly aligned pointer type.
General Analysis ws_engine.cpp:373 Medium V1037 Two or more case-branches perform the same actions. Check lines: 373, 477
General Analysis ws_engine.cpp:762 Medium V1037 Two or more case-branches perform the same actions. Check lines: 762, 845
General Analysis ws_engine.cpp:316 Medium V1048 The '_server_handshake_state' variable was assigned the same value.
General Analysis ws_engine.cpp:404 Medium V1048 The '_server_handshake_state' variable was assigned the same value.
General Analysis ws_engine.cpp:473 Medium V1048 The '_server_handshake_state' variable was assigned the same value.
General Analysis ws_engine.cpp:614 Medium V1048 The '_client_handshake_state' variable was assigned the same value.
General Analysis ws_engine.cpp:641 Medium V1048 The '_client_handshake_state' variable was assigned the same value.
General Analysis ws_engine.cpp:793 Medium V1048 The '_client_handshake_state' variable was assigned the same value.
General Analysis ws_engine.cpp:841 Medium V1048 The '_client_handshake_state' variable was assigned the same value.
General Analysis ws_listener.cpp:42 Medium V1077 Conditional initialization inside the 'ws_listener_t' constructor may leave some members uninitialized. Inspect the following: _tls_cred.
General Analysis xpub.cpp:202 Low V547 Expression 'option_ == 108' is always true.
General Analysis xpub.cpp:149 Low V575 The potential null pointer is passed into 'memcpy' function. Inspect the second argument.
General Analysis zap_client.cpp:154 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis zap_client.cpp:162 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis zmq.cpp:845 High V595 The 'items_' pointer was utilized before it was verified against nullptr. Check lines: 845, 873.
General Analysis zmq.cpp:812 Medium V522 There might be dereferencing of a potential null pointer 'events'.
General Analysis zmq.cpp:854 Medium V547 Expression 'nitems_ < 0' is always false.
General Analysis zmq.cpp:468 Medium V1048 The 'rc' variable was assigned the same value.
General Analysis zmq.cpp:212 Low V524 It is odd that the body of 'zmq_ctx_destroy' function is fully equivalent to the body of 'zmq_term' function.
General Analysis zmq.cpp:353 Low V524 It is odd that the body of 'zmq_disconnect' function is fully equivalent to the body of 'zmq_unbind' function.
General Analysis zmq.cpp:1775 Low V601 The 'true' value is implicitly cast to the integer type.
General Analysis zmq.cpp:1783 Low V601 The 'true' value is implicitly cast to the integer type.
General Analysis zmq.cpp:1803 Low V601 The 'true' value is implicitly cast to the integer type.
General Analysis zmq.cpp:1807 Low V601 The 'true' value is implicitly cast to the integer type.
General Analysis zmq.cpp:1811 Low V601 The 'true' value is implicitly cast to the integer type.
General Analysis zmq.cpp:1815 Low V601 The 'true' value is implicitly cast to the integer type.
General Analysis zmq.cpp:1818 Low V601 The 'false' value is implicitly cast to the integer type.
General Analysis zmq_utils.cpp:36 Medium V522 There might be dereferencing of a potential null pointer 'watch'. Check lines: 36, 34.
General Analysis zmq_utils.cpp:58 Medium V522 There might be dereferencing of a potential null pointer 'thread'.
General Analysis zmtp_engine.cpp:39 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _greeting_recv, _greeting_send.
General Analysis zmtp_engine.cpp:246 Low V584 The '1' value is present on both sides of the '>=' operator. The expression is incorrect or it can be simplified.