diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/hush.c | 3 | ||||
-rw-r--r-- | shell/lash.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/shell/hush.c b/shell/hush.c index 331d591c8..1ad61e54e 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -1019,11 +1019,10 @@ static int setup_redirects(struct child_prog *prog, int squirrel[]) | |||
1019 | } | 1019 | } |
1020 | if (redir->dup == -1) { | 1020 | if (redir->dup == -1) { |
1021 | mode = redir_table[redir->type].mode; | 1021 | mode = redir_table[redir->type].mode; |
1022 | openfd = open(redir->word.gl_pathv[0], mode, 0666); | 1022 | openfd = open3_or_warn(redir->word.gl_pathv[0], mode, 0666); |
1023 | if (openfd < 0) { | 1023 | if (openfd < 0) { |
1024 | /* this could get lost if stderr has been redirected, but | 1024 | /* this could get lost if stderr has been redirected, but |
1025 | bash and ash both lose it as well (though zsh doesn't!) */ | 1025 | bash and ash both lose it as well (though zsh doesn't!) */ |
1026 | bb_perror_msg("error opening %s", redir->word.gl_pathv[0]); | ||
1027 | return 1; | 1026 | return 1; |
1028 | } | 1027 | } |
1029 | } else { | 1028 | } else { |
diff --git a/shell/lash.c b/shell/lash.c index aba9c0a2e..c72a65639 100644 --- a/shell/lash.c +++ b/shell/lash.c | |||
@@ -571,11 +571,10 @@ static int setup_redirects(struct child_prog *prog, int squirrel[]) | |||
571 | break; | 571 | break; |
572 | } | 572 | } |
573 | 573 | ||
574 | openfd = open(redir->filename, mode, 0666); | 574 | openfd = open3_or_warn(redir->filename, mode, 0666); |
575 | if (openfd < 0) { | 575 | if (openfd < 0) { |
576 | /* this could get lost if stderr has been redirected, but | 576 | /* this could get lost if stderr has been redirected, but |
577 | bash and ash both lose it as well (though zsh doesn't!) */ | 577 | bash and ash both lose it as well (though zsh doesn't!) */ |
578 | bb_perror_msg("error opening %s", redir->filename); | ||
579 | return 1; | 578 | return 1; |
580 | } | 579 | } |
581 | 580 | ||