]> git.ipfire.org Git - thirdparty/u-boot.git/commit
tools: fwumdata: Fix use-after-free in parse_config()
authorKory Maincent <kory.maincent@bootlin.com>
Tue, 7 Apr 2026 12:34:35 +0000 (14:34 +0200)
committerIlias Apalodimas <ilias.apalodimas@linaro.org>
Tue, 12 May 2026 06:31:51 +0000 (09:31 +0300)
commitd5ea30b233e8162898d44da2c20dfc88e27d23db
tree8aff082d5560be42b128242b0fb4d057cfa31ab3
parent5732bd0f457b4c671e46574d64d4acb099c0f0a5
tools: fwumdata: Fix use-after-free in parse_config()

In parse_config(), devname is dynamically allocated by sscanf().
When sscanf() fails to fill enough fields (rc < 3), devname is freed and
the loop continues to the next line. However, if the next call to sscanf()
fails to match (rc == 0), devname is not written and still holds the stale
freed pointer. The subsequent free(devname) then operates on
already-freed memory.

Fix this by resetting devname to NULL before each sscanf() call, so
that a non-matching call leaves a NULL pointer and the subsequent
free() becomes a harmless no-op.

Reported-by: Coverity Scan
Link: https://lists.denx.de/pipermail/u-boot/2026-April/614161.html
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
tools/fwumdata_src/fwumdata.c