]> 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>
Wed, 21 Sep 2016 18:54:45 +0000 (12:54 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Wed, 21 Sep 2016 18:54:45 +0000 (12:54 -0600)
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 50e453366daceb29f1cccaf2182f43b52fbd509c..95c45154138ee4ccc7f2bb1c9b795707442eb1dd 100644 (file)
@@ -836,7 +836,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);