| -rw-r--r-- | subst.c | 7 |
@@ -206,6 +206,8 @@ extern int wordexp_only; extern int singlequote_translations; extern int extended_quote; +extern REDIRECT *exec_redirection_undo_list, *redirection_undo_list; + #if !defined (HAVE_WCSDUP) && defined (HANDLE_MULTIBYTE) extern wchar_t *wcsdup (const wchar_t *); #endif @@ -7000,6 +7002,11 @@ function_substitute (char *string, int quoted, int flags) add_unwind_protect (uw_restore_pipestatus_array, psa); } #endif + + unwind_protect_pointer (redirection_undo_list); + redirection_undo_list = NULL; + unwind_protect_pointer (exec_redirection_undo_list); + exec_redirection_undo_list = NULL; subst_assign_varlist = 0; |