]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Do reset $HOME if needed after r13435. Minimize putenv() memory leaks.
authorAlex Rousskov <rousskov@measurement-factory.com>
Fri, 23 Sep 2016 11:11:48 +0000 (23:11 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 23 Sep 2016 11:11:48 +0000 (23:11 +1200)
While r13435 is attributed to me, the wrong condition was not mine. This
is a good example of why "cmp() op 0" pattern is usually safer because
the "==" or "!=" operator "tells" us whether the strings are equal,
unlike "!cmp()" that is often misread as "not equal".

src/cache_cf.cc

index fedabc04bedc94cc1620fa5178688dcd5041b562..630f3e9786de8dd52a47872462044cba3622ea4c 100644 (file)
@@ -849,7 +849,7 @@ configDoConfigure(void)
             if (pwd->pw_dir && *pwd->pw_dir) {
                 // putenv() leaks by design; avoid leaks when nothing changes
                 static SBuf lastDir;
-                if (lastDir.isEmpty() || !lastDir.cmp(pwd->pw_dir)) {
+                if (lastDir.isEmpty() || lastDir.cmp(pwd->pw_dir) != 0) {
                     lastDir = pwd->pw_dir;
                     int len = strlen(pwd->pw_dir) + 6;
                     char *env_str = (char *)xcalloc(len, 1);