diff options
author | Theodore Ts'o <tytso@mit.edu> | 2001-07-25 19:48:24 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2001-07-25 19:48:24 -0400 |
commit | 14fe1c33145fc6af4f4338792bccf240088d43a0 (patch) | |
tree | 8133aa8cf6d1eb9b8fb6e5aef12a14177765b7a6 /e2fsck/pass1.c | |
parent | 029326d6d1c228f49d4fbf7020c379d1fb452d78 (diff) | |
download | e2fsprogs-14fe1c33145fc6af4f4338792bccf240088d43a0.tar.gz |
Apply fixes reported by Andreas Gruenbacher:
pass1.c (check_ext_attr): Skip zero-length EA entries.
problem.c: PR_1_EA_ALLOC_COLLISION shouldn't abort, but should prompt
to clear the EA block.
Diffstat (limited to 'e2fsck/pass1.c')
-rw-r--r-- | e2fsck/pass1.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index ab8dcfe4..6d763d23 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -1057,8 +1057,9 @@ static int check_ext_attr(e2fsck_t ctx, struct problem_context *pctx, if (fix_problem(ctx, PR_1_EA_BAD_VALUE, pctx)) goto clear_extattr; } - if (region_allocate(region, entry->e_value_offs, - EXT2_EXT_ATTR_SIZE(entry->e_value_size))) { + if (entry->e_value_size && + region_allocate(region, entry->e_value_offs, + EXT2_EXT_ATTR_SIZE(entry->e_value_size))) { if (fix_problem(ctx, PR_1_EA_ALLOC_COLLISION, pctx)) goto clear_extattr; } |