aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyserver/ChangeLog3
-rw-r--r--keyserver/gpgkeys_ldap.c17
2 files changed, 12 insertions, 8 deletions
diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog
index 4d1fb033c..6cf84e78d 100644
--- a/keyserver/ChangeLog
+++ b/keyserver/ChangeLog
@@ -1,5 +1,8 @@
2002-10-08 David Shaw <[email protected]>
+ * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
+ freed in case of error.
+
* gpgkeys_ldap.c (main): Fix error return code.
2002-09-26 Werner Koch <[email protected]>
diff --git a/keyserver/gpgkeys_ldap.c b/keyserver/gpgkeys_ldap.c
index 8448d1977..654c7a2c3 100644
--- a/keyserver/gpgkeys_ldap.c
+++ b/keyserver/gpgkeys_ldap.c
@@ -352,18 +352,20 @@ int get_key(char *getkey)
/* YYYYMMDDHHmmssZ */
vals=ldap_get_values(ldap,each,"pgpkeycreatetime");
- if(vals!=NULL && strlen(vals[0])==15)
+ if(vals!=NULL)
{
- fprintf(console,"Key created:\t%.2s/%.2s/%.4s\n",
- &vals[0][4],&vals[0][6],vals[0]);
+ if(strlen(vals[0])==15)
+ fprintf(console,"Key created:\t%.2s/%.2s/%.4s\n",
+ &vals[0][4],&vals[0][6],vals[0]);
ldap_value_free(vals);
}
vals=ldap_get_values(ldap,each,"modifytimestamp");
- if(vals!=NULL && strlen(vals[0])==15)
+ if(vals!=NULL)
{
- fprintf(console,"Key modified:\t%.2s/%.2s/%.4s\n",
- &vals[0][4],&vals[0][6],vals[0]);
+ if(strlen(vals[0])==15)
+ fprintf(console,"Key modified:\t%.2s/%.2s/%.4s\n",
+ &vals[0][4],&vals[0][6],vals[0]);
ldap_value_free(vals);
}
@@ -886,14 +888,13 @@ int main(int argc,char *argv[])
if(vals!=NULL)
{
basekeyspacedn=strdup(vals[0]);
+ ldap_value_free(vals);
if(basekeyspacedn==NULL)
{
fprintf(console,"gpgkeys: can't allocate string space "
"for LDAP base\n");
goto fail;
}
-
- ldap_value_free(vals);
}
ldap_msgfree(res);