mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
tools: kwboot: Fix sending very small images
Sending of very small images (smaller than 128 bytes = xmodem block size) cause out-of-bound memory read access. Fix this issue by ensuring that hdrsz when sending image is not larger than total size of the image. Issue was introduced in commitf8017c3779("tools: kwboot: Fix sending Kirkwood v0 images"). Special case when total image is smaller than header size aligned to multiply of xmodem size is already handled since that commit. Fixes:f8017c3779("tools: kwboot: Fix sending Kirkwood v0 images") Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
@@ -1455,6 +1455,8 @@ kwboot_xmodem(int tty, const void *_img, size_t size, int baudrate)
|
||||
* followed by the header. So align header size to xmodem block size.
|
||||
*/
|
||||
hdrsz += (KWBOOT_XM_BLKSZ - hdrsz % KWBOOT_XM_BLKSZ) % KWBOOT_XM_BLKSZ;
|
||||
if (hdrsz > size)
|
||||
hdrsz = size;
|
||||
|
||||
pnum = 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user