args.image_seq is of type uint32_t and was initialized to -1 which
becomes 0xFFFFFFFF in this case. Later the value -1 was used as a flag
that args.image_seq should be replaced with a randomized value.
With the option --image-seq (-Q) a user could provide any sequence
number at will.
But when the user provided sequence number was 0xFFFFFFFF this was
understood effectivly as -1 and got overridden by a randomized
sequence number.
So this patch change the programm flow to respect the principle of
least surprise and never use a randomized sequence number when the
user provide one at own will.
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
static struct args args =
{
.ubi_ver = 1,
- .image_seq = -1,
};
static const char *doc = PROGRAM_NAME " version " PROGRAM_VERSION
static int parse_opt(int argc, char * const argv[])
{
+ srand(getpid());
+ args.image_seq = random();
+
while (1) {
int key;
char *endp;
if (args.image && args.novtbl)
return errmsg("-n cannot be used together with -f");
- if (!args.image_seq == -1) {
- srand(getpid());
- args.image_seq = random();
- }
args.node = argv[optind];
return 0;
.min_io_size = -1,
.subpage_size = -1,
.ubi_ver = 1,
- .image_seq = -1,
};
static int parse_opt(int argc, char * const argv[])
{
+ srand(getpid());
+ args.image_seq = random();
+
while (1) {
int key;
char *endp;
return errmsg("VID header offset has to be multiple of min. I/O unit size");
}
- if (!args.image_seq == -1) {
- srand(getpid());
- args.image_seq = random();
- }
return 0;
}