[PATCH] D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length

Jonas Toth via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 30 15:02:40 PDT 2018


JonasToth added a comment.

Interesting, did you try out `gcc-4.8` and if it is reproducable with
that one? This version of gcc is still supported and if the problem
occurs with the libstdc++ shipped there, we need to consider it.

> However, **`16.04 LTS (Xenial)`** at the time of writing this comment has an `clang-3.7` package, specifically this version:
> 
>   Ubuntu clang version 3.7.1-2ubuntu2 (tags/RELEASE_371/final) (based on LLVM 3.7.1)
>   Target: x86_64-pc-linux-gnu
>   Thread model: posix
> 
> With this I can confirm I get a huge trace and the template depth overflow failure.
> 
> However, from the filename-line mappings of the preprocessed output, I can see that the `type_traits` header comes from `/usr/include/c++/4.8/type_traits`, which is a version **4.8** standard library, but installing the `clang-3.7` package (through some transitivity in `libasan` and such) depended on `gcc-`**`5`**`-base`, upgrading it from the system-default `5.3.1` to `5.4.0`.
> 
> Isn't this a discrepancy, relying on an older standard library than what is seemingly available on the system?
> 
> https://reviews.llvm.org/D45050


https://reviews.llvm.org/D45050





More information about the cfe-commits mailing list