Pc-lint Plus Se Apr 2026

She opened nav_sensor.c at line 408. A simple loop:

“That tool is terrifying,” she said. “It found something that wouldn’t have crashed for another two years of field operation.”

“I thought we couldn’t afford the SE tier,” she said.

That night, as she packed up, Eleanor looked at her terminal—still open, still showing PC-lint Plus SE’s final summary: pc-lint plus se

The terminal blinked. Then it began to scream.

Hank nodded. “PC-lint Plus SE doesn’t just find bugs. It finds intentions . It sees the ghosts in the machine—the paths your code could take, even if it never has before.”

nav_sensor.c(412): error 4150: (Severe -- Semantic dataflow) Pointer 'temp_ptr' derived from 'sensor_buffer + offset' where offset is tainted by unvalidated CAN bus input (path: can_rx_handler -> validate_crc -> extract_payload -> compute_offset). Alias set analysis shows 'temp_ptr' and 'calib_ptr' may converge after loop unrolling at line 408, leading to write-write conflict when temperature exceeds 85°C. [Reference: CWE-123, MISRA C:2023 Rule 11.9] Eleanor froze. She scrolled up. The analyzer had traced a data flow across seven functions, through three files, and had identified not just a memory corruption, but the exact temperature threshold where it would manifest. She opened nav_sensor

“The issue isn’t the hardware,” Eleanor said, rubbing her eyes. “It’s the software. There’s a pointer dereference that only corrupts memory when the temperature sensor hits a specific threshold. I’ve run every static analyzer we own. Nothing catches it.”

Total errors: 1 Total warnings: 0 Bugs found that would have escaped unit test: 1 Lives potentially saved: unknown She closed the laptop. The ghosts, for now, were quiet.

for (int i = 0; i < SENSOR_HISTORY; i++) { temp_ptr = &sensor_buffer[(offset + i) % BUFSZ]; calib_ptr = &calib_table[temp_ptr->raw >> 2]; if (temp_ptr->value > 85.0) { *calib_ptr = apply_emergency_curve(temp_ptr->value); // here } } The aliasing was invisible to human eyes and to ordinary linters. But temp_ptr and calib_ptr could, under specific unrolling, point to overlapping memory if offset was maliciously crafted. The write to calib_ptr would then corrupt the next sensor’s buffer, causing a silent overflow. That night, as she packed up, Eleanor looked

The drone stayed stable. On Friday, Eleanor presented the root cause to the client. Hank sat in the back, arms crossed, smiling faintly. After the meeting, Eleanor walked to his desk.

She fixed the loop by adding a restrict qualifier and a bounds check on offset . Recompiled. Ran the hardware-in-the-loop test. Seventeen hours passed. Twenty. Thirty.