aboutsummaryrefslogtreecommitdiff
path: root/ext2fs
diff options
context:
space:
mode:
Diffstat (limited to 'ext2fs')
-rw-r--r--ext2fs/ChangeLog5
-rw-r--r--ext2fs/dir.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/ext2fs/ChangeLog b/ext2fs/ChangeLog
index 53247993..811973f5 100644
--- a/ext2fs/ChangeLog
+++ b/ext2fs/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-30 Marcus Brinkmann <marcus@gnu.org>
+
+ * dir.c (diskfs_lookup_hard): If name is too long, clear
+ DS before returning ENAMETOOLONG.
+
2000-10-01 Roland McGrath <roland@frob.com>
* inode.c (write_node): Use memcpy instead of a loop.
diff --git a/ext2fs/dir.c b/ext2fs/dir.c
index bc83d3b0..2887e1b0 100644
--- a/ext2fs/dir.c
+++ b/ext2fs/dir.c
@@ -161,7 +161,11 @@ diskfs_lookup_hard (struct node *dp, const char *name, enum lookup_type type,
namelen = strlen (name);
if (namelen > EXT2_NAME_LEN)
- return ENAMETOOLONG;
+ {
+ if (ds)
+ diskfs_null_dirstat (ds);
+ return ENAMETOOLONG;
+ }
try_again:
if (ds)