{ "tokens": { "input": 5314, "cache_read": 3274, "cache_write": 1637, "output": 1536 }, "reviews": [ { "key": [ "https://ftp.debian.org/debian/pool/main/h/hfsprogs/hfsprogs_540.1.linux3.orig.tar.gz", "your diskdev_cmds-540.1.linux3/fsck_hfs.tproj/dfalib/BTreeTreeOps.c:710:30: error: Uninitialized variable: targetNode->buffer [uninitvar]" ], "verdict": { "verdict": "regression", "confidence": "medium", "explanation": "`DeleteTree` reads `targetNode->buffer` from a `BlockDescriptor*` parameter. Its callers, including the recursive call with `&parentNode`, fill that descriptor through `GetNode`/`SearchTree` before passing it in. So the buffer is initialized, and nothing in this function shows an uninitialized read. The new warning comes from the PR's broadened `MultiValueFlowAnalyzer::match`, which now matches any variable whose varId equals an uninit value's `tokvalue`. That lets an uninit state leak into the pointed-to struct member. The companion `targetNodePtr` warning was added the same way. This is likely a new false positive." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/h/hfsprogs/hfsprogs_540.1.linux3.orig.tar.gz", "your diskdev_cmds-540.1.linux3/fsck_hfs.tproj/dfalib/BTreeTreeOps.c:713:26: error: Uninitialized variable: targetNodePtr [uninitvar]\n diskdev_cmds-540.1.linux3/fsck_hfs.tproj/dfalib/BTreeTreeOps.c:710:28: note: Assignment 'targetNodePtr=targetNode->buffer', assigned value is \n diskdev_cmds-540.1.linux3/fsck_hfs.tproj/dfalib/BTreeTreeOps.c:713:26: note: Uninitialized variable: targetNodePtr" ], "verdict": { "verdict": "regression", "confidence": "medium", "explanation": "`targetNodePtr` is assigned from `targetNode->buffer`, which belongs to a `BlockDescriptor` passed in by the caller. In this file, `DeleteTree` calls itself recursively with `&parentNode`. `parentNode` is declared without an initializer, but it is normally filled by `GetNode` before that call. So the buffer is initialized when line 713 runs. The PR's broader `match()` in `MultiValueFlowAnalyzer` now matches uninit values through `tokvalue` variable ids. That appears to carry a bogus `` value into this function. The result is a new false positive (plus the companion one at 710:30)." } }, { "key": [ "https://ftp.debian.org/debian/pool/main/y/yuma123/yuma123_2.14.orig.tar.gz", "your yuma123_2.14/netconf/src/ncx/obj.c:6597:17: error: Uninitialized variable: typdef->tclass [uninitvar]" ], "verdict": { "verdict": "regression", "confidence": "medium", "explanation": "The new warning is on a read of `typdef->tclass`, where `typdef` is a pointer parameter of `obj_set_named_type`. Nothing in this function writes to the struct, so an uninitialized value could only come from a caller through the changed multi-value/subfunction lifetime analysis. The warning gives no caller location, which suggests it comes from the new matching heuristic. That heuristic matches any token whose varId equals an uninit value's `tokvalue`. In yuma123, typdefs are created and initialized (`typ_new_typdef` / `typ_init_typdef`) before phase-2 resolution, so `tclass` is set when this function runs. This is most likely a new false positive introduced by the PR, but the callers are not shown, so this cannot be fully confirmed." } } ], "started": "2026-11-04 22:50:31 UTC", "runner": "aws-testrunner-1" }