X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=urlmatch.c;h=d953263866799b1e3eb01687d88c992e897ae130;hp=f1742c89ac48629d8fc06315c99d07e896660702;hb=a42393c22ec887e804749c7e7a62be4fa098681b;hpb=d01bb4028a9d19a62672a8d7d8d13f09ae270851 diff --git a/urlmatch.c b/urlmatch.c index f1742c89..d9532638 100644 --- a/urlmatch.c +++ b/urlmatch.c @@ -6,7 +6,7 @@ * patterns. * * Copyright : Written by and Copyright (C) 2001-2014 - * the Privoxy team. http://www.privoxy.org/ + * the Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written * by and Copyright (C) 1997 Anonymous Coders and @@ -1440,20 +1440,23 @@ jb_err parse_forwarder_address(char *address, char **hostname, int *port, char **username, char **password) { char *p; - *hostname = strdup_or_die(address); + char *tmp; + + tmp = *hostname = strdup_or_die(address); /* Parse username and password */ if (username && password && (NULL != (p = strchr(*hostname, '@')))) { *p++ = '\0'; - *username = *hostname; - *hostname = p; + *username = strdup_or_die(*hostname); + *hostname = strdup_or_die(p); if (NULL != (p = strchr(*username, ':'))) { *p++ = '\0'; *password = strdup_or_die(p); } + freez(tmp); } /* Parse hostname and port */