diff options
-rw-r--r-- | lib/libmtd.c | 2 | ||||
-rw-r--r-- | lib/libubi.c | 1 | ||||
-rw-r--r-- | misc-utils/recv_image.c | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/lib/libmtd.c b/lib/libmtd.c index 564e5c0..9d8d0e8 100644 --- a/lib/libmtd.c +++ b/lib/libmtd.c @@ -217,6 +217,7 @@ static int read_hex_ll(const char *file, long long *value) } buf[rd] = '\0'; + *value = 0; if (sscanf(buf, "%llx\n", value) != 1) { errmsg("cannot read integer from \"%s\"\n", file); errno = EINVAL; @@ -269,6 +270,7 @@ static int read_pos_ll(const char *file, long long *value) goto out_error; } + *value = 0; if (sscanf(buf, "%lld\n", value) != 1) { errmsg("cannot read integer from \"%s\"\n", file); errno = EINVAL; diff --git a/lib/libubi.c b/lib/libubi.c index 4322a19..aaeeb38 100644 --- a/lib/libubi.c +++ b/lib/libubi.c @@ -94,6 +94,7 @@ static int read_positive_ll(const char *file, long long *value) } buf[rd] = '\0'; + *value = 0; if (sscanf(buf, "%lld\n", value) != 1) { errmsg("cannot read integer from \"%s\"\n", file); errno = EINVAL; diff --git a/misc-utils/recv_image.c b/misc-utils/recv_image.c index 7f6662b..eeaa2e2 100644 --- a/misc-utils/recv_image.c +++ b/misc-utils/recv_image.c @@ -81,8 +81,7 @@ int main(int argc, char **argv) printf("Receive to MTD device %s with erasesize %d\n", argv[3], meminfo.erasesize); } - } - if (flfd == -1) { + } else { /* Try again, as if it's a file */ flfd = open(argv[3], O_CREAT|O_TRUNC|O_RDWR, 0644); if (flfd < 0) { |