tools/mkfwimage2: remove 256 length limit for partition images
[openwrt/openwrt.git] / tools / firmware-utils / src / mkfwimage2.c
index ee09abba1aec34124eaf0cf76a25d12402f33cbb..89a98051b430e7077045ef89601f2418e189b920 100644 (file)
@@ -197,6 +197,10 @@ int str2u32(char *arg, u_int32_t *val)
        return 0;
 }
 
        return 0;
 }
 
+#ifndef STRINGIFY
+#define STRINGIFY2(X) #X
+#define STRINGIFY(X) STRINGIFY2(X)
+#endif
 static int image_layout_add_partition(const char *part_desc)
 {
        part_data_t *d;
 static int image_layout_add_partition(const char *part_desc)
 {
        part_data_t *d;
@@ -212,7 +216,7 @@ static int image_layout_add_partition(const char *part_desc)
        }
 
        d = &im.parts[im.part_count];
        }
 
        d = &im.parts[im.part_count];
-       t = sscanf(part_desc, "%15[a-zA-Z]:%15[0-9a-fA-Fx]:%15[0-9a-fA-Fx]:%15[0-9a-fA-Fx]:%15[0-9a-fA-Fx]:%256s",
+       t = sscanf(part_desc, "%15[-0-9a-zA-Z]:%15[0-9a-fA-Fx]:%15[0-9a-fA-Fx]:%15[0-9a-fA-Fx]:%15[0-9a-fA-Fx]:%"STRINGIFY(PATH_MAX)"s",
                        d->partition_name,
                        offset,
                        length,
                        d->partition_name,
                        offset,
                        length,