mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-21 20:08:24 +00:00
firmware-utils/tplink-safeloader: soft-version magic is data length
The soft-version partition actually contains a header and trailing data: * header: {data length, [zero]} * data: {version, bcd encoded date, revision} The data length is currently treated as a magic number, but should contain the length of the partition data. This header is also present the following partitions (non-exhaustive): * string-based soft-version * support-list Signed-off-by: Sander Vanheule <sander@svanheule.net> Signed-off-by: maurerr <mariusd84@gmail.com>
This commit is contained in:
parent
eda0ae1b99
commit
564e802c76
@ -84,7 +84,7 @@ struct device_info {
|
||||
|
||||
/** The content of the soft-version structure */
|
||||
struct __attribute__((__packed__)) soft_version {
|
||||
uint32_t magic;
|
||||
uint32_t data_len;
|
||||
uint32_t zero;
|
||||
uint8_t pad1;
|
||||
uint8_t version_major;
|
||||
@ -2153,7 +2153,8 @@ static struct image_partition_entry make_soft_version(uint32_t rev) {
|
||||
|
||||
struct tm *tm = gmtime(&t);
|
||||
|
||||
s->magic = htonl(0x0000000c);
|
||||
/* Partition contents size, minus 8 byte header and trailing byte */
|
||||
s->data_len = htonl(entry.size-9);
|
||||
s->zero = 0;
|
||||
s->pad1 = 0xff;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user