[source] firmware-utils/tplink-safeloader: make vendor data optional

LEDE Commits lede-commits at lists.infradead.org
Tue Dec 20 05:41:20 PST 2016


neoraider pushed a commit to source.git, branch master:
https://git.lede-project.org/d58e8a90769e2f65e26960555c972237a18068f5

commit d58e8a90769e2f65e26960555c972237a18068f5
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Wed Aug 24 09:30:56 2016 +0200

    firmware-utils/tplink-safeloader: make vendor data optional
    
    Restructure the code a bit to allow for omitting vendor data when generating
    factory images.
    
    Signed-off-by: Jo-Philipp Wich <jo at mein.io>
---
 tools/firmware-utils/src/tplink-safeloader.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c
index 2dedaa6..7fb5e89 100644
--- a/tools/firmware-utils/src/tplink-safeloader.c
+++ b/tools/firmware-utils/src/tplink-safeloader.c
@@ -449,10 +449,6 @@ static void put_partitions(uint8_t *buffer, const struct image_partition_entry *
 
 		base += parts[i].size;
 	}
-
-	image_pt++;
-
-	memset(image_pt, 0xff, end-image_pt);
 }
 
 /** Generates and writes the image MD5 checksum */
@@ -492,12 +488,14 @@ static void * generate_factory_image(const char *vendor, const struct image_part
 	if (!image)
 		error(1, errno, "malloc");
 
+	memset(image, 0xff, *len);
 	put32(image, *len);
 
-	size_t vendor_len = strlen(vendor);
-	put32(image+0x14, vendor_len);
-	memcpy(image+0x18, vendor, vendor_len);
-	memset(image+0x18+vendor_len, 0xff, 4092-vendor_len);
+	if (vendor) {
+		size_t vendor_len = strlen(vendor);
+		put32(image+0x14, vendor_len);
+		memcpy(image+0x18, vendor, vendor_len);
+	}
 
 	put_partitions(image + 0x1014, parts);
 	put_md5(image+0x04, image+0x14, *len-0x14);



More information about the lede-commits mailing list