drivers/mtd/ubispl/ubispl.c: limit copy size

The fastmap VID header is embedded in struct ubi_scan_info. During fastmap
scan, the header is copied into struct ubi_scan_info, if valid. The former
code mixed up the amount of copied bytes and copied more bytes than
nessesary. This had no side effect, since the affected struct members are
uninitialized at that point and overwritten later.

Limit the copied bytes to the VID header size.

Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de>
Reported-by: Andrew Goodbody <andrew.goodbody@linaro.org>
This commit is contained in:
Benedikt Spranger
2025-09-17 11:14:17 +02:00
committed by Heiko Schocher
parent 75b7ef1caf
commit 88e7a462f0

View File

@@ -779,7 +779,7 @@ static int ubi_scan_fastmap(struct ubi_scan_info *ubi,
* that already so we merily copy it over.
*/
if (pnum == fm_anchor)
memcpy(vh, ubi->blockinfo + pnum, sizeof(*fm));
memcpy(vh, ubi->blockinfo + pnum, sizeof(*vh));
if (i == 0) {
if (be32_to_cpu(vh->vol_id) != UBI_FM_SB_VOLUME_ID) {