From 6a94e587a6aaefa6e59e5d49f38892849bc3fba8 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Tue, 22 Aug 2017 22:42:38 +0200 Subject: [PATCH] libposix: fix POSIX_open's DMDIR management; fix typo in POSIX_chmod --- sys/src/lib/posix/files.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/src/lib/posix/files.c b/sys/src/lib/posix/files.c index 89fe1f3..20920ff 100644 --- a/sys/src/lib/posix/files.c +++ b/sys/src/lib/posix/files.c @@ -125,9 +125,11 @@ POSIX_open(int *errnop, const char *name, int flags, int mode) goto FailWithError; if(omode & DMDIR){ d = dirstat(name); - if((d->mode & DMDIR) == 0) - e = PosixENOTDIR; - free(d); + if(d != nil){ + if((d->mode & DMDIR) == 0) + e = PosixENOTDIR; + free(d); + } if(e != 0) goto FailWithError; omode &= ~DMDIR; @@ -375,7 +377,7 @@ POSIX_stat(int *errnop, const char *file, void *pstat) int POSIX_chmod(int *errnop, const char *path, int mode) { - long cmode = 0; + long cperm = 0; PosixError e; e = __libposix_open_translation(0, mode, nil, &cperm);