core: fix memory leak if url change fails
[project/uclient.git] / uclient.c
index 21f6f5d..2113d8d 100644 (file)
--- a/uclient.c
+++ b/uclient.c
@@ -182,8 +182,10 @@ int uclient_set_url(struct uclient *cl, const char *url_str, const char *auth_st
        if (!url)
                return -1;
 
-       if (url->backend != cl->backend)
+       if (url->backend != cl->backend) {
+               free(url);
                return -1;
+       }
 
        free(cl->url);
        cl->url = url;