On Tue, Jun 29, 2004 at 09:13:05AM +0100, Carl Matthews wrote:
> Also i've just noticed the errors never occur for directorys but only 
> for files longer than the 8.3. Which again suggests an error in the hash 
> mangling method.

Here's the fix. Incorrect use of safe_strcpy (memcpy should be used instead).

Jeremy.
Index: smbd/mangle_hash.c
===================================================================
--- smbd/mangle_hash.c  (revision 1298)
+++ smbd/mangle_hash.c  (working copy)
@@ -546,8 +546,10 @@
        /* Fill the new cache entry, and add it to the cache. */
        s1 = (char *)(new_entry + 1);
        s2 = (char *)&(s1[mangled_len + 1]);
-       safe_strcpy( s1, mangled_name, mangled_len );
-       safe_strcpy( s2, raw_name,     raw_len );
+       memcpy( s1, mangled_name, mangled_len );
+       s1[mangled_len] = '\0';
+       memcpy( s2, raw_name, raw_len );
+       s2[raw_len] = '\0';
        ubi_cachePut( mangled_cache, i, new_entry, s1 );
 }
 
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  http://lists.samba.org/mailman/listinfo/samba

Reply via email to