OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "scoped_refptr.h" |
| 6 |
| 7 struct Foo { |
| 8 int dummy; |
| 9 }; |
| 10 |
| 11 // A temporary scoped_refptr is unsafely passed as a function argument. Since |
| 12 // temporaries are destroyed at the end of the full expression, this is 'safe' |
| 13 // and can be rewritten to use get(). Currently, the tool just skips this case |
| 14 // though--hopefully this is rare enough that manual intervention is not really |
| 15 // required. |
| 16 scoped_refptr<Foo> GetBuggyFoo() { |
| 17 return new Foo; |
| 18 } |
| 19 |
| 20 void Bar(Foo* f); |
| 21 |
| 22 void UseBuggyFoo() { |
| 23 Bar(GetBuggyFoo()); |
| 24 } |
OLD | NEW |