summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/p2p
diff options
context:
space:
mode:
authorjyasskin@chromium.org <jyasskin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-22 10:56:36 +0000
committerjyasskin@chromium.org <jyasskin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-22 10:56:36 +0000
commit649d05134ab20b8fa5d765eebb22f8d5852d3b5a (patch)
tree6b65eb8047704eaaba28fd2a35801fca3c60aa31 /content/browser/renderer_host/p2p
parent4307c7b9006d7e0d5f42ffd663cbec74ca12d3b4 (diff)
downloadchromium_src-649d05134ab20b8fa5d765eebb22f8d5852d3b5a.zip
chromium_src-649d05134ab20b8fa5d765eebb22f8d5852d3b5a.tar.gz
chromium_src-649d05134ab20b8fa5d765eebb22f8d5852d3b5a.tar.bz2
Fix a false valgrind uninit error under clang.
Given "if (!stun || type == STUN_DATA_INDICATION)", clang's optimizer evaluates both sides of the ||. Under -fno-omit-frame-pointer, this makes valgrind unhappy. (http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Mac%20%28valgrind%29%282%29/builds/24355; I reproduced on linux under clang where valgrind gives line numbers.) You can see the effect using the following program: #include <stdio.h> __attribute__((noinline)) bool InitializeIf(volatile bool cond, int* var) { if (!cond) return false; *var = 3; return true; } int main() { int var; bool initted = InitializeIf(false, &var); if (!initted || var == 2) printf("Yep.\n"); } The fix is to initialize |type|. r229975 seems to have exposed this, but didn't do anything to cause it. R=hubbe@chromium.org TBR=hclam@chromium.org Review URL: https://codereview.chromium.org/34383003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230099 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/p2p')
-rw-r--r--content/browser/renderer_host/p2p/socket_host_tcp.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/content/browser/renderer_host/p2p/socket_host_tcp.cc b/content/browser/renderer_host/p2p/socket_host_tcp.cc
index f6865ba..3c890bb 100644
--- a/content/browser/renderer_host/p2p/socket_host_tcp.cc
+++ b/content/browser/renderer_host/p2p/socket_host_tcp.cc
@@ -291,7 +291,7 @@ void P2PSocketHostTcpBase::Send(const net::IPEndPoint& to,
}
if (!connected_) {
- P2PSocketHost::StunMessageType type;
+ P2PSocketHost::StunMessageType type = P2PSocketHost::StunMessageType();
bool stun = GetStunPacketType(&*data.begin(), data.size(), &type);
if (!stun || type == STUN_DATA_INDICATION) {
LOG(ERROR) << "Page tried to send a data packet to " << to.ToString()