ldap/servers/slapd/tools/rsearch/nametable.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
New commits:
commit 09eff3df1081c22d6b74f1f4414006766e2802bc
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Dec 9 15:29:07 2014 -0500
Ticket 47722 - Using the filter file does not work
Bug Description: Using a filter file does not work correctly. rsearch fails to
to use the filters from the file.
Fix Description: There was a bug where we incorrectly freed each filter right after
we added it to the local list. This left the list empty.
https://fedorahosted.org/389/ticket/47722
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit fb22b387e4376caae35121a645a5879dbac7b4fb)
Conflicts:
ldap/servers/slapd/tools/rsearch/nametable.c
diff --git a/ldap/servers/slapd/tools/rsearch/nametable.c
b/ldap/servers/slapd/tools/rsearch/nametable.c
index e5d04cd..03a6ae1 100644
--- a/ldap/servers/slapd/tools/rsearch/nametable.c
+++ b/ldap/servers/slapd/tools/rsearch/nametable.c
@@ -152,11 +152,14 @@ int nt_load(NameTable *nt, const char *filename)
if (!fd) return 0;
while (PR_Available(fd) > 0) {
- char temp[4096], *s;
- if (PR_GetLine(fd, temp, sizeof(temp))) break;
- s = strdup(temp);
- if (!s) break;
- if (!nt_push(nt, s)) break;
+ char temp[4096], *s;
+ if (PR_GetLine(fd, temp, sizeof(temp))) break;
+ s = strdup(temp);
+ if (!s) break;
+ if (!nt_push(nt, s)) {
+ free(s);
+ break;
+ }
}
PR_Close(fd);
return nt->size;