summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Hunter <ext-adrian.hunter@nokia.com>2008-11-03 10:41:58 +0200
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-11-06 10:49:24 +0200
commit37df0ddffc92804633fc926624fba310e4cc3c57 (patch)
tree96229788348201ec507997c58bb8050a9c74313d
parentc9e31807be29045ff7e0137676bf93bc77ca472d (diff)
ubinize: correct subpage_size print and initialise vol_info to zero
J. Scott Merritt wrote: > Dear list, > > I believe that I have stumbled upon two problems with the latest version > of ubinize.c in mtd-utils - one serious, and one not so serious. > > - First, the easy one: At line 457, I believe that we should be printing > args.subpage_size rather than ui.min_io_size. > > - More seriously, I believe that the "flags" field in the ubigen_vol_info > structures is not being properly initialized. Line 494 allocates memory > for these structures with malloc, so they are not cleared to zero. The > read_section function updates the flag field if the AUTO-RESIZE flag is > specified, but does not otherwise initialize or clear it. > > I reckon the latter problem could be repaired either with calloc, or by > modifying read_section to more directly set/clear the flag. > > Thanks, Scott. Reported-by: J. Scott Merritt <merrij3@rpi.edu> Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--ubi-utils/new-utils/src/ubinize.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ubi-utils/new-utils/src/ubinize.c b/ubi-utils/new-utils/src/ubinize.c
index ebd5aa0..4f3e8a1 100644
--- a/ubi-utils/new-utils/src/ubinize.c
+++ b/ubi-utils/new-utils/src/ubinize.c
@@ -454,7 +454,7 @@ int main(int argc, char * const argv[])
verbose(args.verbose, "LEB size: %d", ui.leb_size);
verbose(args.verbose, "PEB size: %d", ui.peb_size);
verbose(args.verbose, "min. I/O size: %d", ui.min_io_size);
- verbose(args.verbose, "sub-page size: %d", ui.min_io_size);
+ verbose(args.verbose, "sub-page size: %d", args.subpage_size);
verbose(args.verbose, "VID offset: %d", ui.vid_hdr_offs);
verbose(args.verbose, "data offset: %d", ui.data_offs);
@@ -491,7 +491,7 @@ int main(int argc, char * const argv[])
goto out_dict;
}
- vi = malloc(sizeof(struct ubigen_vol_info) * sects);
+ vi = calloc(sizeof(struct ubigen_vol_info), sects);
if (!vi) {
errmsg("cannot allocate memory");
goto out_dict;