diff options
author | Justus Winter <[email protected]> | 2016-07-01 12:09:01 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-07-01 12:16:18 +0000 |
commit | 78aeb236fe4ff3a6d51b3095148e7086f2a6e9a8 (patch) | |
tree | 430f4090e27748b5651a1f203ccae9bd1d0d7133 /g10/keyserver.c | |
parent | tools/gpgtar: Annotate semi-static allocation. (diff) | |
download | gnupg-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.c | 6 |
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; } |