bug fix, cp_ioreset(): fclosing an already closed stream
causing memory corruption when using `>&' stderr redirection
This commit is contained in:
parent
4d0d0fafb9
commit
cd2cab2a94
|
|
@ -184,21 +184,19 @@ error: wl_free(wl);
|
|||
void
|
||||
cp_ioreset(void)
|
||||
{
|
||||
if (cp_in != cp_curin) {
|
||||
if (cp_in != cp_curin)
|
||||
if (cp_in)
|
||||
fclose(cp_in);
|
||||
cp_in = cp_curin;
|
||||
}
|
||||
if (cp_out != cp_curout) {
|
||||
if (cp_out != cp_curout)
|
||||
if (cp_out)
|
||||
fclose(cp_out);
|
||||
cp_out = cp_curout;
|
||||
}
|
||||
if (cp_err != cp_curerr) {
|
||||
if (cp_err)
|
||||
if (cp_err != cp_curerr)
|
||||
if (cp_err && cp_err != cp_out)
|
||||
fclose(cp_err);
|
||||
cp_err = cp_curerr;
|
||||
}
|
||||
|
||||
cp_in = cp_curin;
|
||||
cp_out = cp_curout;
|
||||
cp_err = cp_curerr;
|
||||
|
||||
/*** Minor bug here... */
|
||||
out_isatty = TRUE;
|
||||
|
|
|
|||
Loading…
Reference in New Issue