Explorar o código

Bug 697027 - 15 - minor memory leaks found by Valgrind + TET

https://bugzilla.redhat.com/show_bug.cgi?id=697027
[Case 15]
Description: 1) Adding slapi_rdn_done to release work Slapi_RDN
mysrdn filled in _entry_set_tombstone_rdn.
2) Getting rid of unnecessary slapi_rdn_done, which is taken
care in slapi_rdn_replace_rdn.
Noriko Hosoi %!s(int64=14) %!d(string=hai) anos
pai
achega
9ef77fa5dc
Modificáronse 1 ficheiros con 3 adicións e 4 borrados
  1. 3 4
      ldap/servers/slapd/entry.c

+ 3 - 4
ldap/servers/slapd/entry.c

@@ -3877,21 +3877,20 @@ _entry_set_tombstone_rdn(Slapi_Entry *e, char *normdn)
             Slapi_RDN mysrdn = {0};
             Slapi_RDN mysrdn = {0};
             rc = slapi_rdn_init_all_dn(&mysrdn, sepp + 1);
             rc = slapi_rdn_init_all_dn(&mysrdn, sepp + 1);
             if (rc) {
             if (rc) {
-                slapi_log_error(SLAPI_LOG_FATAL, "str2entry",
+                slapi_log_error(SLAPI_LOG_FATAL, "_entry_set_tombstone_rdn",
                                 "Failed to convert DN %s to RDN\n", sepp + 1);
                                 "Failed to convert DN %s to RDN\n", sepp + 1);
+                slapi_rdn_done(&mysrdn);
                 goto bail;
                 goto bail;
             }
             }
             sepp = PL_strchr(sepp + 1, ',');
             sepp = PL_strchr(sepp + 1, ',');
             if (sepp) {
             if (sepp) {
-                Slapi_RDN *srdn = slapi_entry_get_srdn(e);
                 /* nsuniqueid=042d8081-...-ca8fe9f7,uid=tuser, */
                 /* nsuniqueid=042d8081-...-ca8fe9f7,uid=tuser, */
                 /*                                           ^ */
                 /*                                           ^ */
                 *sepp = '\0';
                 *sepp = '\0';
                 slapi_rdn_replace_rdn(&mysrdn, tombstone_rdn);
                 slapi_rdn_replace_rdn(&mysrdn, tombstone_rdn);
-                slapi_rdn_done(srdn);
                 slapi_entry_set_srdn(e, &mysrdn);
                 slapi_entry_set_srdn(e, &mysrdn);
-                slapi_rdn_done(&mysrdn);
             }
             }
+            slapi_rdn_done(&mysrdn);
         }
         }
     }
     }
 bail:
 bail: