diff options
author | Theodore Ts'o <tytso@mit.edu> | 2022-08-11 23:51:03 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2022-08-11 23:51:03 -0400 |
commit | 068eadd2c4243cf66e4b067a65c5a8fe2a62d774 (patch) | |
tree | 01f7067d5a651d29b5904a37eb330e491d29f0a1 | |
parent | 8e2e5a514bfef7d960e4a7af986a959e2294a4cc (diff) | |
parent | 7bb8da77e890d738900da75266786ea9a55df961 (diff) | |
download | e2fsprogs-068eadd2c4243cf66e4b067a65c5a8fe2a62d774.tar.gz |
Merge branch 'maint' into next
-rw-r--r-- | e2fsck/pass3.c | 4 | ||||
-rw-r--r-- | e2fsck/problem.c | 6 | ||||
-rw-r--r-- | e2fsck/rehash.c | 2 | ||||
-rw-r--r-- | e2fsck/unix.c | 8 | ||||
-rw-r--r-- | misc/badblocks.c | 2 | ||||
-rw-r--r-- | misc/dumpe2fs.c | 3 | ||||
-rw-r--r-- | misc/e2image.c | 4 | ||||
-rw-r--r-- | misc/lsattr.c | 2 | ||||
-rw-r--r-- | misc/tune2fs.c | 2 | ||||
-rw-r--r-- | resize/extent.c | 4 | ||||
-rw-r--r-- | resize/main.c | 6 |
11 files changed, 28 insertions, 15 deletions
diff --git a/e2fsck/pass3.c b/e2fsck/pass3.c index d6b8c8b4..16d243f6 100644 --- a/e2fsck/pass3.c +++ b/e2fsck/pass3.c @@ -324,8 +324,8 @@ static int check_directory(e2fsck_t ctx, ext2_ino_t dir, if (parent) pctx->dir = parent; else - ext2fs_lookup(fs, ino, "..", 2, NULL, - &pctx->dir); + (void) ext2fs_lookup(fs, ino, "..", 2, NULL, + &pctx->dir); if (fix_problem(ctx, !parent ? PR_3_UNCONNECTED_DIR : PR_3_LOOPED_DIR, pctx)) { if (e2fsck_reconnect_file(ctx, pctx->ino)) { diff --git a/e2fsck/problem.c b/e2fsck/problem.c index 361c1d1a..6ad6fb84 100644 --- a/e2fsck/problem.c +++ b/e2fsck/problem.c @@ -2573,8 +2573,7 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) if ((ctx->options & E2F_OPT_PREEN) && (ptr->flags & PR_PREEN_OK)) suppress++; - if ((ptr->flags & PR_LATCH_MASK) && - (ldesc->flags & (PRL_YES | PRL_NO))) + if (ldesc && (ldesc->flags & (PRL_YES | PRL_NO))) suppress++; if (ptr->count == ptr->max_count + 1) { if (ctx->problem_logf) @@ -2619,8 +2618,7 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) answer = def_yn; if (!(ptr->flags & PR_PREEN_NOMSG)) print_answer = 1; - } else if ((ptr->flags & PR_LATCH_MASK) && - (ldesc->flags & (PRL_YES | PRL_NO))) { + } else if (ldesc && (ldesc->flags & (PRL_YES | PRL_NO))) { print_answer = 1; if (ldesc->flags & PRL_YES) answer = 1; diff --git a/e2fsck/rehash.c b/e2fsck/rehash.c index f9af0329..f7b19f62 100644 --- a/e2fsck/rehash.c +++ b/e2fsck/rehash.c @@ -414,6 +414,8 @@ static void mutate_name(char *str, unsigned int *len) l += 2; else l = (l+3) & ~3; + if (l > 255) + l = 255; str[l-2] = '~'; str[l-1] = '0'; *len = l; diff --git a/e2fsck/unix.c b/e2fsck/unix.c index c1b443b9..76549c40 100644 --- a/e2fsck/unix.c +++ b/e2fsck/unix.c @@ -74,11 +74,15 @@ int journal_enable_debug = -1; static void usage(e2fsck_t ctx) { + char *program_name = "e2fsck"; + + if (ctx && ctx->program_name) + program_name = ctx>program_name; fprintf(stderr, _("Usage: %s [-panyrcdfktvDFV] [-b superblock] [-B blocksize]\n" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extended-options] [-z undo_file] device\n"), - ctx->program_name); + program_name); fprintf(stderr, "%s", _("\nEmergency help:\n" " -p Automatic repair (no questions)\n" @@ -849,7 +853,7 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) if (argc && *argv) ctx->program_name = *argv; else - ctx->program_name = "e2fsck"; + usage(NULL); phys_mem_kb = get_memory_size() / 1024; ctx->readahead_kb = ~0ULL; diff --git a/misc/badblocks.c b/misc/badblocks.c index afeb3da9..3dedf763 100644 --- a/misc/badblocks.c +++ b/misc/badblocks.c @@ -1093,6 +1093,8 @@ int main (int argc, char ** argv) if (argc && *argv) program_name = *argv; + else + usage(); while ((c = getopt (argc, argv, "b:d:e:fi:o:svwnc:p:h:t:BX")) != EOF) { switch (c) { case 'b': diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c index ef6d1cb8..7c080ed9 100644 --- a/misc/dumpe2fs.c +++ b/misc/dumpe2fs.c @@ -619,7 +619,8 @@ int main (int argc, char ** argv) mmp_check = 1; header_only = 1; } - } + } else + usage(); if (!mmp_check) fprintf(stderr, "dumpe2fs %s (%s)\n", E2FSPROGS_VERSION, diff --git a/misc/e2image.c b/misc/e2image.c index 2c1f3db3..079c6812 100644 --- a/misc/e2image.c +++ b/misc/e2image.c @@ -943,7 +943,7 @@ static errcode_t initialize_qcow2_image(int fd, ext2_filsys fs, header->refcount_table_clusters = ext2fs_cpu_to_be32(image->refcount.refcount_table_clusters); offset += image->cluster_size; - offset += image->refcount.refcount_table_clusters << + offset += (blk64_t) image->refcount.refcount_table_clusters << image->cluster_bits; /* Make space for L2 tables */ @@ -1518,6 +1518,8 @@ int main (int argc, char ** argv) E2FSPROGS_DATE); if (argc && *argv) program_name = *argv; + else + usage(); add_error_table(&et_ext2_error_table); while ((c = getopt(argc, argv, "b:B:nrsIQafo:O:pc")) != EOF) switch (c) { diff --git a/misc/lsattr.c b/misc/lsattr.c index 55080e92..72f4c681 100644 --- a/misc/lsattr.c +++ b/misc/lsattr.c @@ -187,6 +187,8 @@ int main (int argc, char ** argv) #endif if (argc && *argv) program_name = *argv; + else + usage(); while ((c = getopt (argc, argv, "RVadlvp")) != EOF) switch (c) { diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 6c162ba5..0c2ab3c3 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -3100,6 +3100,8 @@ int tune2fs_main(int argc, char **argv) #endif if (argc && *argv) program_name = *argv; + else + usage(); add_error_table(&et_ext2_error_table); #ifdef CONFIG_BUILD_FINDFS diff --git a/resize/extent.c b/resize/extent.c index 4177c6f7..82f69ca8 100644 --- a/resize/extent.c +++ b/resize/extent.c @@ -50,14 +50,12 @@ errcode_t ext2fs_create_extent_table(ext2_extent *ret_extent, __u64 size) extent->num = 0; extent->sorted = 1; - retval = ext2fs_get_array(sizeof(struct ext2_extent_entry), + retval = ext2fs_get_arrayzero(sizeof(struct ext2_extent_entry), extent->size, &extent->list); if (retval) { ext2fs_free_mem(&extent); return retval; } - memset(extent->list, 0, - sizeof(struct ext2_extent_entry) * extent->size); *ret_extent = extent; return 0; } diff --git a/resize/main.c b/resize/main.c index a1a1c79a..94f5ec6d 100644 --- a/resize/main.c +++ b/resize/main.c @@ -49,7 +49,7 @@ static void usage (char *prog) fprintf (stderr, _("Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] " "[-p] device [-b|-s|new_size] [-S RAID-stride] " "[-z undo_file]\n\n"), - prog); + prog ? prog : "resize2fs"); exit (1); } @@ -287,6 +287,8 @@ int main (int argc, char ** argv) E2FSPROGS_VERSION, E2FSPROGS_DATE); if (argc && *argv) program_name = *argv; + else + usage(NULL); while ((c = getopt(argc, argv, "d:fFhMPpS:bsz:")) != EOF) { switch (c) { @@ -544,7 +546,7 @@ int main (int argc, char ** argv) /* If using cluster allocations, trim down to a cluster boundary */ if (ext2fs_has_feature_bigalloc(fs->super)) { - new_size &= ~((blk64_t)(1 << fs->cluster_ratio_bits) - 1); + new_size &= ~((blk64_t)(1ULL << fs->cluster_ratio_bits) - 1); } new_group_desc_count = ext2fs_div64_ceil(new_size - |