432 Memory leak in smbd/libsmb smb_idmap_getsid
Reviewed by:
[email protected]
Reviewed by:
[email protected]
Reviewed by:
[email protected]
Approved by:
[email protected]
--- a/usr/src/lib/smbsrv/libsmb/common/smb_idmap.c Tue Dec 07 18:02:05 2010 -0600
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_idmap.c Wed Dec 08 20:51:19 2010 -0500
@@ -20,6 +20,7 @@
*/
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2010 Nexenta Systems, Inc. All rights reserved.
*/
#include <syslog.h>
@@ -174,8 +175,10 @@
* SIDs are allocated only when mapping
* UID/GID to SIDs
*/
- for (i = 0; i < sib->sib_nmap; i++)
+ for (i = 0; i < sib->sib_nmap; i++) {
smb_sid_free(sib->sib_maps[i].sim_sid);
+ free(sib->sib_maps[i].sim_domsid);
+ }
}
if (sib->sib_size && sib->sib_maps) {
@@ -367,7 +370,6 @@
return (-1);
sid = smb_sid_fromstr(sim->sim_domsid);
- free(sim->sim_domsid);
if (sid == NULL)
return (-1);