ramips: fix netgear r6120 factory image generation
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Thu, 8 Nov 2018 11:46:37 +0000 (12:46 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 18 Dec 2018 16:48:11 +0000 (17:48 +0100)
commitab3ca4aca35484bcdc55d0c9f4f9948bd59edab5
tree4556e1d42725df9a700ed3468181b1c66097ea77
parent8e0d97359f812f97b2c2811091146661c4bcbeb2
ramips: fix netgear r6120 factory image generation

as indicated in commit c5bf408ed6bd "(ramips: fix image generation for mt76x8")
more rework was needed to fix the other issues.

Building on another machine, but using the same arch, showed
the application failing again for different reasons.

Fix this by completely rewriting the application, fixing following found issues:

- buffer overflows, resulting in stack corruption
- flaws in memory requirement calculations (too small, too large)
- memory leaks
- missing bounds checking on string handling
- non-reproducable images, by using unitilized memory in checksum calculation
- missing error handling, resulting in succes on specific image errors
- endianness errors when building on BE machines
- various minor build warnings
- documentation did not match the code actions (header item locations)
- allowing input to be decimal, hex or octal now

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
(backported from b4e17a7440cd9885a678f2a28609a38eca6dd5dc)
target/linux/ramips/image/mt76x8.mk
tools/firmware-utils/src/mksercommfw.c