[compiler-rt] r268138 - Fix test's memory leaks.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 29 16:53:28 PDT 2016


Any chance of using unique_ptr or similar?

On Fri, Apr 29, 2016 at 4:42 PM, Filipe Cabecinhas via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: filcab
> Date: Fri Apr 29 18:42:34 2016
> New Revision: 268138
>
> URL: http://llvm.org/viewvc/llvm-project?rev=268138&view=rev
> Log:
> Fix test's memory leaks.
>
> Modified:
>     compiler-rt/trunk/test/asan/TestCases/invalid-pointer-pairs.cc
>
> Modified: compiler-rt/trunk/test/asan/TestCases/invalid-pointer-pairs.cc
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/invalid-pointer-pairs.cc?rev=268138&r1=268137&r2=268138&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/test/asan/TestCases/invalid-pointer-pairs.cc
> (original)
> +++ compiler-rt/trunk/test/asan/TestCases/invalid-pointer-pairs.cc Fri Apr
> 29 18:42:34 2016
> @@ -8,19 +8,15 @@
>  #include <assert.h>
>  #include <stdlib.h>
>
> -char *p;
> -int main(int argc, char **argv) {
> +int f(char c, char *p, char *q) {
>    // ALL-ERRORS: ERROR: AddressSanitizer: invalid-pointer-pair
>    // [[PTR1:0x[0-9a-f]+]] [[PTR2:0x[0-9a-f]+]]
> -  assert(argc >= 2);
> -  p = (char *)malloc(42);
> -  char *q = (char *)malloc(42);
> -  switch (argv[1][0]) {
> +  switch (c) {
>    case 'g':
> -    // CMP: #0 {{.*}} in main
> {{.*}}invalid-pointer-pairs.cc:[[@LINE+1]]:14
> +    // CMP: #0 {{.*}} in f(char, char*, char*)
> {{.*}}invalid-pointer-pairs.cc:[[@LINE+1]]:14
>      return p > q;
>    case 's':
> -    // SUB: #0 {{.*}} in main
> {{.*}}invalid-pointer-pairs.cc:[[@LINE+1]]:14
> +    // SUB: #0 {{.*}} in f(char, char*, char*)
> {{.*}}invalid-pointer-pairs.cc:[[@LINE+1]]:14
>      return p - q;
>    case 'k': {
>      // OK-NOT: ERROR
> @@ -30,9 +26,19 @@ int main(int argc, char **argv) {
>    case 'f': {
>      char *p3 = p + 20;
>      free(p);
> -    // FREE: #0 {{.*}} in main
> {{.*}}invalid-pointer-pairs.cc:[[@LINE+2]]:14
> +    // FREE: #0 {{.*}} in f(char, char*, char*)
> {{.*}}invalid-pointer-pairs.cc:[[@LINE+2]]:14
>      // FREE: freed by thread
>      return p < p3;
>    }
>    }
> +  assert(0);
> +}
> +
> +int main(int argc, char **argv) {
> +  char *p = (char *)malloc(42);
> +  char *q = (char *)malloc(42);
> +  assert(argc >= 2);
> +  f(argv[1][0], p, q);
> +  free(p);
> +  free(q);
>  }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160429/3f07a11a/attachment.html>


More information about the llvm-commits mailing list