The following commit has been merged in the upstream branch:
commit 73097d3e1e737f4885b96fc47416a013bd5a4d76
Author: Justus Winter <[email protected]>
Date: Thu Jul 11 18:09:04 2013 +0200
libdiskfs: fix consistency check
passive is not a zero terminated string but a char * combined with a
length. If passivelen == 0, passive may very well be not NULL, and
dereferencing that pointer might not be safe. At the very least the
consistency check is wrong. Fix that by checking passivelen instead of
passive.
* libdiskfs/file-set-trans.c (diskfs_S_file_set_translator): Fix sanity
check.
diff --git a/libdiskfs/file-set-trans.c b/libdiskfs/file-set-trans.c
index 3798001..49303e7 100644
--- a/libdiskfs/file-set-trans.c
+++ b/libdiskfs/file-set-trans.c
@@ -43,7 +43,7 @@ diskfs_S_file_set_translator (struct protid *cred,
if ((passive_flags & FS_TRANS_SET) && diskfs_check_readonly ())
return EROFS;
- if (passive && passive[passivelen - 1])
+ if (passivelen && passive[passivelen - 1])
return EINVAL;
np = cred->po->np;
--
Debian GNU Hurd packaging