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

Side by Side Diff: sandbox/src/sharedmem_ipc_server.cc

Issue 7234009: sandbox: avoid an extra if() which is not required and is wrong (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/callback.h" 5 #include "base/callback.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "sandbox/src/sharedmem_ipc_server.h" 8 #include "sandbox/src/sharedmem_ipc_server.h"
9 #include "sandbox/src/sharedmem_ipc_client.h" 9 #include "sandbox/src/sharedmem_ipc_client.h"
10 #include "sandbox/src/sandbox.h" 10 #include "sandbox/src/sandbox.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 return false; 122 return false;
123 } 123 }
124 // This last setting indicates to the client all is setup. 124 // This last setting indicates to the client all is setup.
125 client_control_->channels_count = channel_count; 125 client_control_->channels_count = channel_count;
126 return true; 126 return true;
127 } 127 }
128 128
129 // Releases memory allocated for IPC arguments, if needed. 129 // Releases memory allocated for IPC arguments, if needed.
130 void ReleaseArgs(const IPCParams* ipc_params, void* args[kMaxIpcParams]) { 130 void ReleaseArgs(const IPCParams* ipc_params, void* args[kMaxIpcParams]) {
131 for (size_t i = 0; i < kMaxIpcParams; i++) { 131 for (size_t i = 0; i < kMaxIpcParams; i++) {
132 if (args[i]) { 132 switch (ipc_params->args[i]) {
133 switch (ipc_params->args[i]) { 133 case WCHAR_TYPE: {
134 case WCHAR_TYPE: { 134 delete reinterpret_cast<std::wstring*>(args[i]);
135 delete reinterpret_cast<std::wstring*>(args[i]); 135 args[i] = NULL;
136 args[i] = NULL; 136 break;
137 break;
138 }
139 case INOUTPTR_TYPE: {
140 delete reinterpret_cast<CountedBuffer*>(args[i]);
141 args[i] = NULL;
142 break;
143 }
144 default: break;
145 } 137 }
138 case INOUTPTR_TYPE: {
139 delete reinterpret_cast<CountedBuffer*>(args[i]);
140 args[i] = NULL;
141 break;
142 }
143 default: break;
146 } 144 }
147 } 145 }
148 } 146 }
149 147
150 // Fills up the list of arguments (args and ipc_params) for an IPC call. 148 // Fills up the list of arguments (args and ipc_params) for an IPC call.
151 bool GetArgs(CrossCallParamsEx* params, IPCParams* ipc_params, 149 bool GetArgs(CrossCallParamsEx* params, IPCParams* ipc_params,
152 void* args[kMaxIpcParams]) { 150 void* args[kMaxIpcParams]) {
153 if (kMaxIpcParams < params->GetParamsCount()) 151 if (kMaxIpcParams < params->GetParamsCount())
154 return false; 152 return false;
155 153
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 } 401 }
404 *server_pong = ::CreateEventW(NULL, FALSE, FALSE, NULL); 402 *server_pong = ::CreateEventW(NULL, FALSE, FALSE, NULL);
405 if (!::DuplicateHandle(::GetCurrentProcess(), *server_pong, target_process_, 403 if (!::DuplicateHandle(::GetCurrentProcess(), *server_pong, target_process_,
406 client_pong, kDesiredAccess, FALSE, 0)) { 404 client_pong, kDesiredAccess, FALSE, 0)) {
407 return false; 405 return false;
408 } 406 }
409 return true; 407 return true;
410 } 408 }
411 409
412 } // namespace sandbox 410 } // namespace sandbox
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698