Skip to content

Fix remaining uninitialized variable and field Coverity defects#13004

Open
bryancall wants to merge 2 commits intoapache:masterfrom
bryancall:coverity-uninit-batch2
Open

Fix remaining uninitialized variable and field Coverity defects#13004
bryancall wants to merge 2 commits intoapache:masterfrom
bryancall:coverity-uninit-batch2

Conversation

@bryancall
Copy link
Contributor

Summary

Add in-class brace initialization for uninitialized members in
HttpVCTableEntry, HostStatRec, ChunkedHandler, and TLSSNISupport
ClientHello. Initialize local enum and Feature variables in
cache_fill and txn_box plugins.

CIDs: 1021690, 1508845, 1533658, 1534712, 1544456, 1645800.

Changes

CID File Change
1533658 cache_fill/configs.cc Initialize local OP enum in readConfig
1534712 txn_box/Ex_Base.cc Feature zret{}Feature zret{NIL_FEATURE}
1021690 HttpTunnel.h max_chunk_size{DEFAULT_MAX_CHUNK_SIZE}
1508845 HttpVCTable.h Brace-initialize all HttpVCTableEntry members
1544456 HostStatus.h Brace-initialize all HostStatRec members
1645800 TLSSNISupport.h _ext_len{0} in ClientHello

Test plan

  • CI passes (no behavioral changes, initialization only)
  • Verify Coverity scan marks target CIDs as fixed

Add in-class brace initialization for uninitialized members in
HttpVCTableEntry, HostStatRec, ChunkedHandler, and TLSSNISupport
ClientHello. Initialize local enum and Feature variables in
cache_fill and txn_box plugins.

CIDs: 1021690, 1508845, 1533658, 1534712, 1544456, 1645800.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a set of Coverity “uninitialized variable / field” defects by adding deterministic default initialization for several structs and locals across core proxy code and experimental plugins.

Changes:

  • Add in-class member initialization for HttpVCTableEntry, HostStatRec, ChunkedHandler::max_chunk_size, and TLSSNISupport::ClientHello::_ext_len.
  • Initialize previously uninitialized locals in experimental plugins (txn_box Feature return value, cache_fill enum op).

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
plugins/experimental/txn_box/plugin/src/Ex_Base.cc Initialize Feature return value to NIL_FEATURE to avoid default/uninitialized state.
plugins/experimental/cache_fill/configs.cc Initialize Content-Length comparison operator enum before parsing.
include/proxy/http/HttpVCTable.h Add in-class initialization for all HttpVCTableEntry members.
include/proxy/http/HttpTunnel.h Default-initialize ChunkedHandler::max_chunk_size.
include/proxy/HostStatus.h Default-initialize HostStatRec fields to a known state.
include/iocore/net/TLSSNISupport.h Default-initialize ClientHello::_ext_len to 0.

HttpVCTableEntry members now have in-class default initialization,
making the memset redundant. Using memset on pointer-to-member-function
types (HttpSMHandler) is also technically non-portable. Use a proper
initializer list for the sm member instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants