[libvirt] [PATCH 1/2] tests: commandtest: handle tcmalloc hacking environment

Daniel P. Berrange berrange at redhat.com
Fri Nov 17 13:24:27 UTC 2017


On Fri, Nov 17, 2017 at 04:17:37PM +0300, Nikolay Shirokovskiy wrote:
> If one of the libraries is compiled with tcmalloc then
> the latter will add GLIBCPP_FORCE_NEW and GLIBCXX_FORCE_NEW to
> environment at startup and thus break commandtest.

How are they getting those envs into our environment after we clean it
out ? We strongly aim to prevent any non-whitelisted env variable
leakage into children we spawn, so I would really like to kill these
env vars instead of changin the test.

> ---
>  tests/commandhelper.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/commandhelper.c b/tests/commandhelper.c
> index 1da2834..0f6ce07 100644
> --- a/tests/commandhelper.c
> +++ b/tests/commandhelper.c
> @@ -94,8 +94,15 @@ int main(int argc, char **argv) {
>      for (i = 0; i < n; i++) {
>          /* Ignore the variables used to instruct the loader into
>           * behaving differently, as they could throw the tests off. */
> -        if (!STRPREFIX(newenv[i], "LD_"))
> -            fprintf(log, "ENV:%s\n", newenv[i]);
> +        if (STRPREFIX(newenv[i], "LD_"))
> +            continue;
> +
> +        /* Fix tests if tcmalloc is used in libraries */
> +        if (STRPREFIX(newenv[i], "GLIBCPP_FORCE_NEW=") ||
> +            STRPREFIX(newenv[i], "GLIBCXX_FORCE_NEW="))
> +            continue;
> +
> +        fprintf(log, "ENV:%s\n", newenv[i]);
>      }
>  
>      open_max = sysconf(_SC_OPEN_MAX);
> -- 
> 1.8.3.1
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list