@@ -262,7 +262,7 @@ bool FatFile::mkdir(FatFile* parent, const char* path, bool pFlag) {
262262 fname_t fname;
263263 FatFile tmpDir;
264264
265- if (isOpen () || !parent->isDir ()) {
265+ if (isOpen () || !parent || !parent ->isDir ()) {
266266 DBG_FAIL_MACRO;
267267 goto fail;
268268 }
@@ -306,7 +306,7 @@ bool FatFile::mkdir(FatFile* parent, fname_t* fname) {
306306 dir_t * dir;
307307 cache_t * pc;
308308
309- if (!parent->isDir ()) {
309+ if (!parent || !parent ->isDir ()) {
310310 DBG_FAIL_MACRO;
311311 goto fail;
312312 }
@@ -379,7 +379,7 @@ bool FatFile::open(FatFile* dirFile, const char* path, oflag_t oflag) {
379379 fname_t fname;
380380
381381 // error if already open
382- if (isOpen () || !dirFile->isDir ()) {
382+ if (isOpen () || !dirFile || !dirFile ->isDir ()) {
383383 DBG_FAIL_MACRO;
384384 goto fail;
385385 }
@@ -425,7 +425,7 @@ bool FatFile::open(FatFile* dirFile, uint16_t index, oflag_t oflag) {
425425 ldir_t *ldir;
426426
427427 // Error if already open.
428- if (isOpen () || !dirFile->isDir ()) {
428+ if (isOpen () || !dirFile || !dirFile ->isDir ()) {
429429 DBG_FAIL_MACRO;
430430 goto fail;
431431 }
@@ -581,8 +581,9 @@ bool FatFile::openNext(FatFile* dirFile, oflag_t oflag) {
581581 uint8_t lfnOrd = 0 ;
582582 uint16_t index;
583583
584- // Check for not open and valid directory..
585- if (isOpen () || !dirFile->isDir () || (dirFile->curPosition () & 0X1F )) {
584+ // Check for not open and valid directory.
585+ if (isOpen () || !dirFile || !dirFile->isDir ()
586+ || (dirFile->curPosition () & 0X1F )) {
586587 DBG_FAIL_MACRO;
587588 goto fail;
588589 }
@@ -643,7 +644,7 @@ bool FatFile::openParent(FatFile* dirFile) {
643644 uint32_t ddc;
644645 cache_t * cb;
645646
646- if (isOpen () || !dirFile->isOpen ()) {
647+ if (isOpen () || !dirFile || !dirFile ->isOpen ()) {
647648 goto fail;
648649 }
649650 if (dirFile->m_dirCluster == 0 ) {
@@ -1235,8 +1236,8 @@ bool FatFile::timestamp(FatFile* file) {
12351236 dir_t * dir;
12361237 dir_t srcDir;
12371238
1238- // most be files get timestamps
1239- if (!isFile () || !file->isFile () || !file->dirEntry (&srcDir)) {
1239+ // must be files to get timestamps
1240+ if (!isFile () || !file || !file ->isFile () || !file->dirEntry (&srcDir)) {
12401241 DBG_FAIL_MACRO;
12411242 goto fail;
12421243 }
0 commit comments