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()); | |
mdempsky
2014/08/11 20:21:54
Might be worth adding a concise "// BUG: Should be
dcheng
2014/08/11 21:01:00
I've updated the comments for this and several oth
| |
24 } | |
OLD | NEW |