diff -up bash-3.2/builtins/evalfile.c.nullchar bash-3.2/builtins/evalfile.c --- bash-3.2/builtins/evalfile.c.nullchar 2006-07-28 03:41:43.000000000 +0200 +++ bash-3.2/builtins/evalfile.c 2009-06-01 13:00:31.000000000 +0200 @@ -77,7 +77,7 @@ _evalfile (filename, flags) { volatile int old_interactive; procenv_t old_return_catch; - int return_val, fd, result, pflags; + int return_val, fd, result, pflags, i; char *string; struct stat finfo; size_t file_size; @@ -174,7 +174,15 @@ file_error_and_exit: (*errfunc) ("%s: cannot execute binary file", filename); return ((flags & FEVAL_BUILTIN) ? EX_BINARY_FILE : -1); } - + while (i < result) + { + if (string[i] == '\0') + { + memmove(&string[i], &string[i+1], result - i); + --result; + } + ++i; + } if (flags & FEVAL_UNWINDPROT) { begin_unwind_frame ("_evalfile");