X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fbinfmt_misc.c;h=f2744ab4e5b35c415724034f3f5a3a328997cf99;hb=05a8c1cbfe368df8c0d4eff710c370d2aa10245a;hp=8d7e88e02e0f9cc13207d86ee090a2594f79497b;hpb=1543966a079fc7065849ae43ca4dd767c188ad55;p=~andy%2Flinux diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index 8d7e88e02e0..f2744ab4e5b 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -117,7 +117,7 @@ static int load_misc_binary(struct linux_binprm *bprm, struct pt_regs *regs) goto _ret; retval = -ENOEXEC; - if (bprm->misc_bang) + if (bprm->recursion_depth > BINPRM_MAX_RECURSION) goto _ret; /* to keep locking time low, we copy the interpreter string */ @@ -197,7 +197,7 @@ static int load_misc_binary(struct linux_binprm *bprm, struct pt_regs *regs) if (retval < 0) goto _error; - bprm->misc_bang = 1; + bprm->recursion_depth++; retval = search_binary_handler (bprm, regs); if (retval < 0)