diff --git a/src/cmd/ksh93/sh/io.c b/src/cmd/ksh93/sh/io.c index 7c57253d1..ef5fc05ef 100644 --- a/src/cmd/ksh93/sh/io.c +++ b/src/cmd/ksh93/sh/io.c @@ -708,7 +708,10 @@ int sh_close(register int fd) register Sfio_t *sp; register int r = 0; if(fd<0) + { + errno = EBADF; return(-1); + } if(fd >= shp->gd->lim.open_max) sh_iovalidfd(shp,fd); if(!(sp=shp->sftable[fd]) || sfclose(sp) < 0)