| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 <string> | 5 #include <string> |
| 6 #include <map> | 6 #include <map> |
| 7 | 7 |
| 8 #include "sandbox/src/policy_low_level.h" | 8 #include "sandbox/src/policy_low_level.h" |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 | 10 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 mmap[it->service].push_back(it->rule); | 70 mmap[it->service].push_back(it->rule); |
| 71 } | 71 } |
| 72 | 72 |
| 73 PolicyBuffer* current_buffer = &policy_store_->data[0]; | 73 PolicyBuffer* current_buffer = &policy_store_->data[0]; |
| 74 char* buffer_end = reinterpret_cast<char*>(current_buffer) + | 74 char* buffer_end = reinterpret_cast<char*>(current_buffer) + |
| 75 policy_store_->data_size; | 75 policy_store_->data_size; |
| 76 size_t avail_size = policy_store_->data_size; | 76 size_t avail_size = policy_store_->data_size; |
| 77 | 77 |
| 78 for (Mmap::iterator it = mmap.begin(); it != mmap.end(); ++it) { | 78 for (Mmap::iterator it = mmap.begin(); it != mmap.end(); ++it) { |
| 79 uint32 service = (*it).first; | 79 uint32 service = (*it).first; |
| 80 if (service > kMaxServiceCount) { | 80 if (service >= kMaxServiceCount) { |
| 81 return false; | 81 return false; |
| 82 } | 82 } |
| 83 policy_store_->entry[service] = current_buffer; | 83 policy_store_->entry[service] = current_buffer; |
| 84 | 84 |
| 85 RuleList::iterator rules_it = (*it).second.begin(); | 85 RuleList::iterator rules_it = (*it).second.begin(); |
| 86 RuleList::iterator rules_it_end = (*it).second.end(); | 86 RuleList::iterator rules_it_end = (*it).second.end(); |
| 87 | 87 |
| 88 size_t svc_opcode_count = 0; | 88 size_t svc_opcode_count = 0; |
| 89 | 89 |
| 90 for (; rules_it != rules_it_end; ++rules_it) { | 90 for (; rules_it != rules_it_end; ++rules_it) { |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 | 339 |
| 340 return true; | 340 return true; |
| 341 } | 341 } |
| 342 | 342 |
| 343 PolicyRule::~PolicyRule() { | 343 PolicyRule::~PolicyRule() { |
| 344 delete [] reinterpret_cast<char*>(buffer_); | 344 delete [] reinterpret_cast<char*>(buffer_); |
| 345 delete opcode_factory_; | 345 delete opcode_factory_; |
| 346 } | 346 } |
| 347 | 347 |
| 348 } // namespace sandbox | 348 } // namespace sandbox |
| OLD | NEW |