aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyserver.c
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-07-01 12:09:01 +0000
committerJustus Winter <[email protected]>2016-07-01 12:16:18 +0000
commit78aeb236fe4ff3a6d51b3095148e7086f2a6e9a8 (patch)
tree430f4090e27748b5651a1f203ccae9bd1d0d7133 /g10/keyserver.c
parenttools/gpgtar: Annotate semi-static allocation. (diff)
downloadgnupg-78aeb236fe4ff3a6d51b3095148e7086f2a6e9a8.tar.gz
gnupg-78aeb236fe4ff3a6d51b3095148e7086f2a6e9a8.zip
g10: Fix memory leak.
* g10/keyserver.c (parse_keyserver_uri): Free URI. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'g10/keyserver.c')
-rw-r--r--g10/keyserver.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/g10/keyserver.c b/g10/keyserver.c
index d7105de02..2e2d6a4bb 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -240,13 +240,13 @@ parse_keyserver_uri (const char *string,int require_scheme)
struct keyserver_spec *keyserver;
const char *idx;
int count;
- char *uri,*options;
+ char *uri, *duped_uri, *options;
log_assert (string);
keyserver=xmalloc_clear(sizeof(struct keyserver_spec));
- uri=xstrdup(string);
+ duped_uri = uri = xstrdup (string);
options=strchr(uri,' ');
if(options)
@@ -434,11 +434,13 @@ parse_keyserver_uri (const char *string,int require_scheme)
goto fail;
}
+ xfree (duped_uri);
return keyserver;
fail:
free_keyserver_spec(keyserver);
+ xfree (duped_uri);
return NULL;
}