brintos

brintos / llvm-project-archived public Read only

0
0
Text · 482 B · 5174e30 Raw
22 lines · cpp
1// RUN: %clang_analyze_cc1 -analyzer-checker=cplusplus.NewDelete -verify %s2 3#include "Inputs/system-header-simulator-cxx.h"4 5struct S {6  S() : Data(new int) {}7  ~S() { delete Data; }8  int *getData() { return Data; }9 10private:11  int *Data;12};13 14int *freeAfterReturnTemp() {15  return S().getData(); // expected-warning {{Use of memory after it is released}}16}17 18int *freeAfterReturnLocal() {19  S X;20  return X.getData(); // expected-warning {{Use of memory after it is released}}21}22