Installed Software Discovery via Agent-Based Scan
Installed software data was previously corrupted on agent-based Windows scans because a shared map object was reused across entries and the per-entry JSON object pointed to the class rather than a new instance. Empty software lists sent an invalid empty string to the server, breaking downstream parsing. The sensor now creates fresh objects per entry, and the server returns a valid empty JSON array when no software is found.
Problems and fixes
The following root causes were addressed:
| Problem | Fix |
|---|---|
| A single map object was reused across <START> / <END> blocks, so fields from one entry leaked into the next. | The software map is reset to a new instance at each <START> marker. |
| The per-entry JSON object was assigned the class itself, so all entries shared one reference. | A new JSON object is created for each software entry. |
| An empty software list sent "" downstream, which failed JSON parsing. | The server now returns [] (a valid empty JSON array) when no software is found. |
Note: No action is required. Deploy the patched agent and re-run scans on affected Windows hosts. No configuration changes are needed.