* [PATCH 08/12] xfsprogs: ensure dup table always has entry for obfuscated name
@ 2010-12-30 20:41 Alex Elder
0 siblings, 0 replies; only message in thread
From: Alex Elder @ 2010-12-30 20:41 UTC (permalink / raw)
To: xfs
We need to ensure the name table has a copy of all the names in
a directory in order to avoid creating duplicate entries when
obfuscating names. Currently there is an (unlikely) case where
the name is passed back without such an entry being created.
Reorder things so that won't happen.
Signed-off-by: Alex Elder <aelder@sgi.com>
---
db/metadump.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
Index: b/db/metadump.c
===================================================================
--- a/db/metadump.c
+++ b/db/metadump.c
@@ -519,18 +519,22 @@ generate_obfuscated_name(
}
} while (dup);
- memcpy(name, newname, namelen);
+ /* Create an entry for the name in the name table */
p = malloc(sizeof(name_ent_t) + namelen);
if (p == NULL)
return;
- p->next = nametable[hash % NAME_TABLE_SIZE];
- p->hash = hash;
p->namelen = namelen;
- memcpy(p->name, name, namelen);
+ memcpy(p->name, newname, namelen);
+ p->hash = hash;
+ p->next = nametable[hash % NAME_TABLE_SIZE];
nametable[hash % NAME_TABLE_SIZE] = p;
+
+ /* Update the caller's copy with the obfuscated name */
+
+ memcpy(name, newname, namelen);
}
static void
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-12-30 20:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-30 20:41 [PATCH 08/12] xfsprogs: ensure dup table always has entry for obfuscated name Alex Elder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox