Problem: the "secure" variable is used inconsistently. (Justin M. Keyes)
Solution: Set it to one instead of incrementing.
current_sctx.sc_lnum = 0;
#endif
// Make sure no risky things are executed as a side effect.
- ++secure;
+ secure = 1;
retval = do_set(s, OPT_MODELINE | OPT_LOCAL | flags);
// effects in secure mode. Also when the value was
// set with the P_INSECURE flag and is not
// completely replaced.
- if (secure
+ if ((opt_flags & OPT_MODELINE)
#ifdef HAVE_SANDBOX
- || sandbox != 0
+ || sandbox != 0
#endif
- || (opt_flags & OPT_MODELINE)
- || (!value_is_replaced && (*p & P_INSECURE)))
- ++secure;
+ || (!value_is_replaced && (*p & P_INSECURE)))
+ secure = 1;
// Handle side effects, and set the global value
// for ":set" on local options. Note: when setting
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1046,
/**/
1045,
/**/