Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Issue 240013004: Prevent calls to ReturnValue::Set with pointer-valued types. (Closed)

Created:
6 years, 8 months ago by vogelheim
Modified:
6 years, 7 months ago
Reviewers:
dcarney
CC:
v8-dev, Paweł Hajdan Jr.
Visibility:
Public.

Description

Prevent calls to ReturnValue::Set with pointer-valued types. Currently, this code will compile: SomePointer* p = ...; ReturnValue r = ...; r.Set(p); What happens is that ReturnValue::Set has no pointer-ish overloads, but a bool one, and hence C++ will convert the pointer to a bool and use the Set(bool) overload. In other words, the example above is equivalent to: r.Set(p ? true : false); Which probably isn't what the author had in mind. This change adds a Set(void*) overload whose body forces a compile error, to prevent this from happening inadvertently. The only use of this indeed turned out to be an error. (Said error was fixed/removed in crrev.com/267393002.) BUG= R=dcarney@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=21217

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -0 lines) Patch
M include/v8.h View 2 chunks +9 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
vogelheim
Please have a look. (Following crrev.com/267393002, this now compiles just fine in Chromium + blink.)
6 years, 7 months ago (2014-05-09 11:26:44 UTC) #1
dcarney
lgtm
6 years, 7 months ago (2014-05-09 11:30:41 UTC) #2
vogelheim
Committed patchset #1 manually as r21217 (presubmit successful).
6 years, 7 months ago (2014-05-09 12:07:47 UTC) #3
vogelheim
6 years, 7 months ago (2014-05-09 12:17:55 UTC) #4
Message was sent while issue was closed.
A revert of this CL has been created in
https://codereview.chromium.org/271113002/ by vogelheim@chromium.org.

The reason for reverting is: Looks like this broke the "V8 Linux64 ASAN" build..

Powered by Google App Engine
This is Rietveld 408576698