// RUN: %clang_analyze_cc1 -analyzer-checker=core,unix.Malloc -analyzer-output text -verify %s typedef __typeof(sizeof(int)) size_t; void *malloc(size_t size); void inf_loop_break_callee() { void* data = malloc(10); // expected-note{{Memory is allocated}} while (1) { // expected-note{{Loop condition is true}} (void)data; break; // No note that we jump to the line above from this break } // expected-note@-1{{Execution jumps to the end of the function}} } // expected-warning{{Potential leak of memory pointed to by 'data'}} // expected-note@-1 {{Potential leak of memory pointed to by 'data'}} void inf_loop_break_caller() { inf_loop_break_callee(); // expected-note{{Calling 'inf_loop_break_callee'}} } void inf_loop_break_top() { void* data = malloc(10); // expected-note{{Memory is allocated}} while (1) { // expected-note{{Loop condition is true}} (void)data; break; // No note that we jump to the line above from this break } // expected-note@-1{{Execution jumps to the end of the function}} } // expected-warning{{Potential leak of memory pointed to by 'data'}} // expected-note@-1 {{Potential leak of memory pointed to by 'data'}}