OLD | NEW |
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 // This is the transformation for Windows X86 executables. | 5 // This is the transformation for Windows X86 executables. |
6 | 6 |
7 #ifndef COURGETTE_WIN32_X86_PATCHER_H_ | 7 #ifndef COURGETTE_WIN32_X86_PATCHER_H_ |
8 #define COURGETTE_WIN32_X86_PATCHER_H_ | 8 #define COURGETTE_WIN32_X86_PATCHER_H_ |
9 | 9 |
10 #include "courgette/ensemble.h" | 10 #include "courgette/ensemble.h" |
11 | 11 |
12 namespace courgette { | 12 namespace courgette { |
13 | 13 |
14 // Courgette32X86Patcher is a TransformationPatcher for Windows 32-bit | 14 // Courgette32X86Patcher is a TransformationPatcher for Windows 32-bit |
15 // executables. | 15 // executables. |
16 // | 16 // |
17 class PatcherX86_32 : public TransformationPatcher { | 17 class PatcherX86_32 : public TransformationPatcher { |
18 public: | 18 public: |
19 explicit PatcherX86_32(const Region& region) | 19 explicit PatcherX86_32(const Region& region) |
20 : ensemble_region_(region) { | 20 : ensemble_region_(region), |
| 21 base_offset_(0), |
| 22 base_length_(0) { |
21 } | 23 } |
22 | 24 |
23 Status Init(SourceStream* parameter_stream) { | 25 Status Init(SourceStream* parameter_stream) { |
24 if (!parameter_stream->ReadVarint32(&base_offset_)) | 26 if (!parameter_stream->ReadVarint32(&base_offset_)) |
25 return C_BAD_TRANSFORM; | 27 return C_BAD_TRANSFORM; |
26 if (!parameter_stream->ReadVarint32(&base_length_)) | 28 if (!parameter_stream->ReadVarint32(&base_length_)) |
27 return C_BAD_TRANSFORM; | 29 return C_BAD_TRANSFORM; |
28 | 30 |
29 if (base_offset_ > ensemble_region_.length()) | 31 if (base_offset_ > ensemble_region_.length()) |
30 return C_BAD_TRANSFORM; | 32 return C_BAD_TRANSFORM; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 Region ensemble_region_; | 86 Region ensemble_region_; |
85 | 87 |
86 uint32 base_offset_; | 88 uint32 base_offset_; |
87 uint32 base_length_; | 89 uint32 base_length_; |
88 | 90 |
89 DISALLOW_COPY_AND_ASSIGN(PatcherX86_32); | 91 DISALLOW_COPY_AND_ASSIGN(PatcherX86_32); |
90 }; | 92 }; |
91 | 93 |
92 } // namespace | 94 } // namespace |
93 #endif // COURGETTE_WIN32_X86_PATCHER_H_ | 95 #endif // COURGETTE_WIN32_X86_PATCHER_H_ |
OLD | NEW |