// RUN: %clang_cc1 -analyze -analyzer-checker=unix.Malloc -analyzer-output=plist -o %t %s // RUN: FileCheck --input-file %t %s typedef __typeof(sizeof(int)) size_t; void *malloc(size_t); void free(void *); void *realloc(void *ptr, size_t size); void diagnosticTest(int in) { if (in > 5) { int *p = malloc(12); (*p)++; } in++; // expected-warning {{leak}} } void myArrayAllocation() { int **A; A = malloc(2*sizeof(int*)); A[0] = 0;// expected-warning {{leak}} } void reallocDiagnostics() { char * buf = malloc(100); char * tmp; tmp = (char*)realloc(buf, 0x1000000); if (!tmp) { return;// expected-warning {{leak}} } buf = tmp; free(buf); } void *wrapper() { void *x = malloc(100); // This is intentionally done to test diagnostic emission. if (x) return x; return 0; } void test_wrapper() { void *buf = wrapper(); (void) buf; } // Test what happens when the same call frees and allocated memory. // Also tests the stack hint for parameters, when they are passed directly or via pointer. void my_free(void *x) { free(x); } void my_malloc_and_free(void **x) { *x = malloc(100); if (*x) my_free(*x); return; } void *test_double_action_call() { void *buf; my_malloc_and_free(&buf); return buf; } // Test stack hint for 'reallocation failed'. char *my_realloc(char *buf) { char *tmp; tmp = (char*)realloc(buf, 0x1000000); if (!tmp) { return tmp; } return tmp; } void reallocIntra() { char *buf = (char *)malloc(100); buf = my_realloc(buf); free(buf); } // Test stack hint when returning a result. static char *malloc_wrapper_ret() { return (char*)malloc(12); } void use_ret() { char *v; v = malloc_wrapper_ret(); } // Test that we refer to the last symbol used in the leak diagnostic. void LeakedSymbol(int in) { int *m = 0; int *p; p = (int*)malloc(12); (*p)++; m = p; p = 0; (*m)++; in++; } // CHECK: // CHECK: // CHECK: // CHECK: files // CHECK: // CHECK: // CHECK: diagnostics // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line10 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line10 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line10 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line10 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line10 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line10 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line11 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line11 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line11 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line11 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line11 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line11 // CHECK: col27 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line11 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line11 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line11 // CHECK: col27 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line11 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line11 // CHECK: col27 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line14 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line14 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line14 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line14 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line14 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'p' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'p' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'p' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contextdiagnosticTest // CHECK: location // CHECK: // CHECK: line14 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line18 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line18 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line19 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line19 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line19 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line19 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line19 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line19 // CHECK: col30 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line19 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line19 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line19 // CHECK: col30 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line19 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line19 // CHECK: col30 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line21 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line21 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line21 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'A' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'A' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'A' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contextmyArrayAllocation // CHECK: location // CHECK: // CHECK: line21 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line24 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line24 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line24 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line24 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line24 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line24 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line24 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line24 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line24 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line26 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line26 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line26 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line26 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line26 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line26 // CHECK: col40 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line26 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line26 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line26 // CHECK: col40 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Attempt to reallocate memory // CHECK: message // CHECK: Attempt to reallocate memory // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line26 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line26 // CHECK: col40 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line27 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line27 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line27 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Assuming 'tmp' is null // CHECK: message // CHECK: Assuming 'tmp' is null // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line27 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Reallocation failed // CHECK: message // CHECK: Reallocation failed // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line27 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line27 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line28 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line28 // CHECK: col14 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line28 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line28 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line28 // CHECK: col14 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'buf' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'buf' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'buf' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contextreallocDiagnostics // CHECK: location // CHECK: // CHECK: line28 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line43 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line43 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line43 // CHECK: col23 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Calling 'wrapper' // CHECK: message // CHECK: Calling 'wrapper' // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line34 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Entered call from 'test_wrapper' // CHECK: message // CHECK: Entered call from 'test_wrapper' // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line34 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line34 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line35 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line35 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line35 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line35 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line35 // CHECK: col13 // CHECK: file0 // CHECK: // CHECK: // CHECK: line35 // CHECK: col23 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line35 // CHECK: col13 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line35 // CHECK: col13 // CHECK: file0 // CHECK: // CHECK: // CHECK: line35 // CHECK: col23 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line35 // CHECK: col13 // CHECK: file0 // CHECK: // CHECK: // CHECK: line35 // CHECK: col23 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line37 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line37 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line37 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line37 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Assuming 'x' is non-null // CHECK: message // CHECK: Assuming 'x' is non-null // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line37 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line38 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line38 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line43 // CHECK: col23 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Returned allocated memory // CHECK: message // CHECK: Returned allocated memory // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line43 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line43 // CHECK: col23 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line45 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line45 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line45 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'buf' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'buf' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'buf' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contexttest_wrapper // CHECK: location // CHECK: // CHECK: line45 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line59 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line59 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line60 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Calling 'my_malloc_and_free' // CHECK: message // CHECK: Calling 'my_malloc_and_free' // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line52 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Entered call from 'test_double_action_call' // CHECK: message // CHECK: Entered call from 'test_double_action_call' // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line52 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line52 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line53 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line53 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line53 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line53 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line53 // CHECK: col10 // CHECK: file0 // CHECK: // CHECK: // CHECK: line53 // CHECK: col20 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line53 // CHECK: col10 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line53 // CHECK: col10 // CHECK: file0 // CHECK: // CHECK: // CHECK: line53 // CHECK: col20 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line53 // CHECK: col10 // CHECK: file0 // CHECK: // CHECK: // CHECK: line53 // CHECK: col20 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line54 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line54 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line54 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line54 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line55 // CHECK: col17 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Calling 'my_free' // CHECK: message // CHECK: Calling 'my_free' // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line49 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth2 // CHECK: extended_message // CHECK: Entered call from 'my_malloc_and_free' // CHECK: message // CHECK: Entered call from 'my_malloc_and_free' // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line49 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line49 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line50 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line50 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line50 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line50 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line50 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth2 // CHECK: extended_message // CHECK: Memory is released // CHECK: message // CHECK: Memory is released // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line55 // CHECK: col17 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth2 // CHECK: extended_message // CHECK: Returned released memory via 1st parameter // CHECK: message // CHECK: Returned released memory via 1st parameter // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line55 // CHECK: col7 // CHECK: file0 // CHECK: // CHECK: // CHECK: line55 // CHECK: col17 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line56 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line56 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line60 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Returned released memory via 1st parameter // CHECK: message // CHECK: Returned released memory via 1st parameter // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line60 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line60 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line61 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line61 // CHECK: col14 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line61 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line61 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: line61 // CHECK: col14 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Use of memory after it is freed // CHECK: message // CHECK: Use of memory after it is freed // CHECK: // CHECK: // CHECK: descriptionUse of memory after it is freed // CHECK: categoryMemory Error // CHECK: typeUse-after-free // CHECK: issue_context_kindfunction // CHECK: issue_contexttest_double_action_call // CHECK: location // CHECK: // CHECK: line61 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line74 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line74 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line74 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: // CHECK: line74 // CHECK: col35 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line74 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line74 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: // CHECK: line74 // CHECK: col35 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line74 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: // CHECK: line74 // CHECK: col35 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: line75 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Calling 'my_realloc' // CHECK: message // CHECK: Calling 'my_realloc' // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line65 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Entered call from 'reallocIntra' // CHECK: message // CHECK: Entered call from 'reallocIntra' // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line65 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line65 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line66 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line66 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line66 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line66 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line67 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line67 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line67 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line67 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line67 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line67 // CHECK: col40 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line67 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line67 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line67 // CHECK: col40 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Attempt to reallocate memory // CHECK: message // CHECK: Attempt to reallocate memory // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line67 // CHECK: col18 // CHECK: file0 // CHECK: // CHECK: // CHECK: line67 // CHECK: col40 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line68 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line68 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line68 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Assuming 'tmp' is null // CHECK: message // CHECK: Assuming 'tmp' is null // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line68 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col12 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Reallocation failed // CHECK: message // CHECK: Reallocation failed // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line68 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line68 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line69 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line69 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: line75 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Reallocation of 1st parameter failed // CHECK: message // CHECK: Reallocation of 1st parameter failed // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line75 // CHECK: col11 // CHECK: file0 // CHECK: // CHECK: // CHECK: line75 // CHECK: col25 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line76 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line76 // CHECK: col13 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line76 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line76 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line76 // CHECK: col13 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'buf' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'buf' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'buf' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contextreallocIntra // CHECK: location // CHECK: // CHECK: line76 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line84 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line84 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line85 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Calling 'malloc_wrapper_ret' // CHECK: message // CHECK: Calling 'malloc_wrapper_ret' // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line80 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Entered call from 'use_ret' // CHECK: message // CHECK: Entered call from 'use_ret' // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line80 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line80 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line81 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line81 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line81 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line81 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line81 // CHECK: col19 // CHECK: file0 // CHECK: // CHECK: // CHECK: line81 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line81 // CHECK: col19 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line81 // CHECK: col19 // CHECK: file0 // CHECK: // CHECK: // CHECK: line81 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line85 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Returned allocated memory // CHECK: message // CHECK: Returned allocated memory // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line85 // CHECK: col9 // CHECK: file0 // CHECK: // CHECK: // CHECK: line85 // CHECK: col28 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line86 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line86 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line86 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'v' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'v' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'v' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contextuse_ret // CHECK: location // CHECK: // CHECK: line86 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line90 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line90 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line92 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line92 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line92 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line92 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line92 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line92 // CHECK: col24 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line92 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line92 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line92 // CHECK: col24 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is allocated // CHECK: message // CHECK: Memory is allocated // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line92 // CHECK: col15 // CHECK: file0 // CHECK: // CHECK: // CHECK: line92 // CHECK: col24 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line97 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line97 // CHECK: col8 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line97 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line97 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: line97 // CHECK: col8 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Memory is never released; potential leak of memory pointed to by 'm' // CHECK: message // CHECK: Memory is never released; potential leak of memory pointed to by 'm' // CHECK: // CHECK: // CHECK: descriptionMemory is never released; potential leak of memory pointed to by 'm' // CHECK: categoryMemory Error // CHECK: typeMemory leak // CHECK: issue_context_kindfunction // CHECK: issue_contextLeakedSymbol // CHECK: location // CHECK: // CHECK: line97 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: