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

Reply via email to