projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
yaffs Implement phase 1 fuzz testing.
[yaffs2.git]
/
direct
/
yaffsfs.c
diff --git
a/direct/yaffsfs.c
b/direct/yaffsfs.c
index fc68b969e017c9a82af5b66452f95cfdfae87408..191c34f6bd1b6f79209c5642a4df244e1b79a85a 100644
(file)
--- a/
direct/yaffsfs.c
+++ b/
direct/yaffsfs.c
@@
-573,12
+573,21
@@
int yaffs_open(const YCHAR *path, int oflag, int mode)
if(obj)
obj = yaffs_GetEquivalentObject(obj);
if(obj)
obj = yaffs_GetEquivalentObject(obj);
- if(obj && obj->variantType != YAFFS_OBJECT_TYPE_FILE)
+ if(obj &&
+ obj->variantType != YAFFS_OBJECT_TYPE_FILE &&
+ obj->variantType != YAFFS_OBJECT_TYPE_DIRECTORY)
obj = NULL;
if(obj){
obj = NULL;
if(obj){
- /* The file already exists */
+ /* The file already exists or it might be a directory */
+
+ /* If it is a directory then we can't open it as a file */
+ if(obj->variantType == YAFFS_OBJECT_TYPE_DIRECTORY){
+ openDenied = 1;
+ yaffsfs_SetError(-EISDIR);
+ errorReported = 1;
+ }
/* Open should fail if O_CREAT and O_EXCL are specified since
* the file exists
/* Open should fail if O_CREAT and O_EXCL are specified since
* the file exists