aboutsummaryrefslogtreecommitdiff
path: root/libmpio/src
diff options
context:
space:
mode:
Diffstat (limited to 'libmpio/src')
-rw-r--r--libmpio/src/directory.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libmpio/src/directory.c b/libmpio/src/directory.c
index bb19518..7240c14 100644
--- a/libmpio/src/directory.c
+++ b/libmpio/src/directory.c
@@ -1,5 +1,5 @@
/*
- * $Id: directory.c,v 1.9 2003/07/14 21:29:09 germeier Exp $
+ * $Id: directory.c,v 1.10 2003/07/15 07:34:53 germeier Exp $
*
* libmpio - a library for accessing Digit@lways MPIO players
* Copyright (C) 2002, 2003 Markus Germeier
@@ -804,7 +804,13 @@ mpio_dentry_get_real(mpio_t *m, mpio_mem_t mem, BYTE *buffer,
*type = FTYPE_PLAIN;
if (mem == MPIO_INTERNAL_MEM) {
f = mpio_dentry_get_startcluster(m, mem, buffer);
- *type = m->internal.fat[f->entry * 0x10 + 0x06];
+ if (f) {
+ *type = m->internal.fat[f->entry * 0x10 + 0x06];
+ } else {
+ /* we did not find the startcluster, thus the internal
+ FAT is broken for this file */
+ *type = FTYPE_BROKEN;
+ }
}
}