]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
e2fsck.c (e2fsck_run): Clear the SETJMP_OK flag when returning
authorTheodore Ts'o <tytso@mit.edu>
Sun, 22 Feb 2004 01:53:03 +0000 (20:53 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 22 Feb 2004 01:53:03 +0000 (20:53 -0500)
so we don't double longjump into an invalid stack frame.
(Thanks to Matthias Andree for providing this fix.)

e2fsck/ChangeLog
e2fsck/e2fsck.c

index daf9e8b326c3bc29202e63e7a2e6464dc2176340..f1502abbc76efd608bc7cc6e779234f9f351e468 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-14  Theodore Ts'o  <tytso@mit.edu>
+
+       * e2fsck.c (e2fsck_run): Clear the SETJMP_OK flag when returning
+               so we don't double longjump into an invalid stack frame.
+               (Thanks to Matthias Andree for providing this fix.)
+
 2004-01-31  Theodore Ts'o  <tytso@mit.edu>
 
        * problem.c (fix_problem): Don't call print_e2fsck_message if the
index 4c593f37a9bc789f73c663f332eff4940b73c3d1..2a84c517135b7b8531568d60ba4fa478a855ae47 100644 (file)
@@ -180,8 +180,10 @@ int e2fsck_run(e2fsck_t ctx)
        pass_t  e2fsck_pass;
 
 #ifdef HAVE_SETJMP_H
-       if (setjmp(ctx->abort_loc))
+       if (setjmp(ctx->abort_loc)) {
+               ctx->flags &= ~E2F_FLAG_SETJMP_OK;
                return (ctx->flags & E2F_FLAG_RUN_RETURN);
+       }
        ctx->flags |= E2F_FLAG_SETJMP_OK;
 #endif