Browse Source

Ticket 48249: sync_repl uuid may be invalid

Bug Description:
	uuid is computed from nsuniqueid of the entry.
	If the computed uuid contains NULL char, slapi_ch_smprintf("%s")
	will stop on the it, leaving the rest of the buffer with the value
	that was on the heap at that time

Fix Description:
	use malloc/memcpy instead of slapi_ch_smprintf

https://fedorahosted.org/389/ticket/48249

Reviewed by: Noriko Hosoi (thank you !!)

Platforms tested: F22

Flag Day: no

Doc impact: no
Thierry Bordaz 10 years ago
parent
commit
88e72423c7
1 changed files with 2 additions and 1 deletions
  1. 2 1
      ldap/servers/plugins/sync/sync_util.c

+ 2 - 1
ldap/servers/plugins/sync/sync_util.c

@@ -107,7 +107,8 @@ sync_nsuniqueid2uuid(const char *nsuniqueid)
 
 	u[16] = '\0';
 
-	uuid = slapi_ch_smprintf("%s",(char *)u);
+	uuid = slapi_ch_malloc(sizeof(u));
+	memcpy(uuid, u, sizeof(u));
 
 	return(uuid);
 }