Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 9737f22

Browse filesBrowse files
Dobatymoeryksun
andauthored
Apply suggestions from code review
Co-authored-by: Eryk Sun <eryksun@gmail.com>
1 parent 6aeaa32 commit 9737f22
Copy full SHA for 9737f22

File tree

1 file changed

+56
-32
lines changed
Filter options

1 file changed

+56
-32
lines changed

‎Modules/mmapmodule.c

Copy file name to clipboardExpand all lines: Modules/mmapmodule.c
+56-32Lines changed: 56 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -256,28 +256,31 @@ do { \
256256
} while (0)
257257
#endif /* UNIX */
258258

259-
#if defined(MS_WIN32) && !defined(DONT_USE_SEH)
259+
#if defined(MS_WINDOWS) && !defined(DONT_USE_SEH)
260260
static DWORD
261261
filter_page_exception(EXCEPTION_POINTERS *ptrs, EXCEPTION_RECORD *record)
262262
{
263263
*record = *ptrs->ExceptionRecord;
264-
if (record->ExceptionCode == EXCEPTION_IN_PAGE_ERROR
265-
|| record->ExceptionCode == EXCEPTION_ACCESS_VIOLATION) {
264+
if (record->ExceptionCode == EXCEPTION_IN_PAGE_ERROR ||
265+
record->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
266+
{
266267
return EXCEPTION_EXECUTE_HANDLER;
267268
}
268269
return EXCEPTION_CONTINUE_SEARCH;
269270
}
270271

271272
static DWORD
272-
filter_page_exception_method(mmap_object *self, EXCEPTION_POINTERS *ptrs, EXCEPTION_RECORD *record)
273+
filter_page_exception_method(mmap_object *self, EXCEPTION_POINTERS *ptrs,
274+
EXCEPTION_RECORD *record)
273275
{
274276
*record = *ptrs->ExceptionRecord;
275-
if (record->ExceptionCode == EXCEPTION_IN_PAGE_ERROR
276-
|| record->ExceptionCode == EXCEPTION_ACCESS_VIOLATION) {
277+
if (record->ExceptionCode == EXCEPTION_IN_PAGE_ERROR ||
278+
record->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
279+
{
277280

278281
ULONG_PTR address = record->ExceptionInformation[1];
279-
if (address >= (ULONG_PTR) self->data
280-
&& address < (ULONG_PTR) self->data + (ULONG_PTR) self->size)
282+
if (address >= (ULONG_PTR) self->data &&
283+
address < (ULONG_PTR) self->data + (ULONG_PTR) self->size)
281284
{
282285
return EXCEPTION_EXECUTE_HANDLER;
283286
}
@@ -286,16 +289,16 @@ filter_page_exception_method(mmap_object *self, EXCEPTION_POINTERS *ptrs, EXCEPT
286289
}
287290
#endif
288291

289-
#if defined(MS_WIN32) && !defined(DONT_USE_SEH)
292+
#if defined(MS_WINDOWS) && !defined(DONT_USE_SEH)
290293
#define HANDLE_INVALID_MEM(sourcecode) \
291294
do { \
292295
EXCEPTION_RECORD record; \
293296
__try { \
294297
sourcecode \
295298
} \
296299
__except (filter_page_exception(GetExceptionInformation(), &record)) { \
297-
assert(record.ExceptionCode == EXCEPTION_IN_PAGE_ERROR \
298-
|| record.ExceptionCode == EXCEPTION_ACCESS_VIOLATION); \
300+
assert(record.ExceptionCode == EXCEPTION_IN_PAGE_ERROR || \
301+
record.ExceptionCode == EXCEPTION_ACCESS_VIOLATION); \
299302
if (record.ExceptionCode == EXCEPTION_IN_PAGE_ERROR) { \
300303
NTSTATUS status = (NTSTATUS) record.ExceptionInformation[2]; \
301304
ULONG code = LsaNtStatusToWinError(status); \
@@ -314,16 +317,16 @@ do { \
314317
} while (0)
315318
#endif
316319

317-
#if defined(MS_WIN32) && !defined(DONT_USE_SEH)
320+
#if defined(MS_WINDOWS) && !defined(DONT_USE_SEH)
318321
#define HANDLE_INVALID_MEM_METHOD(self, sourcecode) \
319322
do { \
320323
EXCEPTION_RECORD record; \
321324
__try { \
322325
sourcecode \
323326
} \
324327
__except (filter_page_exception_method(self, GetExceptionInformation(), &record)) { \
325-
assert(record.ExceptionCode == EXCEPTION_IN_PAGE_ERROR \
326-
|| record.ExceptionCode == EXCEPTION_ACCESS_VIOLATION); \
328+
assert(record.ExceptionCode == EXCEPTION_IN_PAGE_ERROR || \
329+
record.ExceptionCode == EXCEPTION_ACCESS_VIOLATION); \
327330
if (record.ExceptionCode == EXCEPTION_IN_PAGE_ERROR) { \
328331
NTSTATUS status = (NTSTATUS) record.ExceptionInformation[2]; \
329332
ULONG code = LsaNtStatusToWinError(status); \
@@ -343,39 +346,45 @@ do {
343346
#endif
344347

345348
int
346-
safe_memcpy(void *restrict dest, const void *restrict src, size_t count) {
349+
safe_memcpy(void *restrict dest, const void *restrict src, size_t count)
350+
{
347351
HANDLE_INVALID_MEM(
348352
memcpy(dest, src, count);
349353
);
350354
return 0;
351355
}
352356

353357
int
354-
safe_byte_copy(char *dest, const char *src) {
358+
safe_byte_copy(char *dest, const char *src)
359+
{
355360
HANDLE_INVALID_MEM(
356361
*dest = *src;
357362
);
358363
return 0;
359364
}
360365

361366
int
362-
safe_memchr(char **out, const void *ptr, int ch, size_t count) {
367+
safe_memchr(char **out, const void *ptr, int ch, size_t count)
368+
{
363369
HANDLE_INVALID_MEM(
364370
*out = (char *) memchr(ptr, ch, count);
365371
);
366372
return 0;
367373
}
368374

369375
int
370-
safe_memmove(void *dest, const void *src, size_t count) {
376+
safe_memmove(void *dest, const void *src, size_t count)
377+
{
371378
HANDLE_INVALID_MEM(
372379
memmove(dest, src, count);
373380
);
374381
return 0;
375382
}
376383

377384
int
378-
safe_copy_from_slice(char *dest, const char *src, Py_ssize_t start, Py_ssize_t step, Py_ssize_t slicelen) {
385+
safe_copy_from_slice(char *dest, const char *src, Py_ssize_t start,
386+
Py_ssize_t step, Py_ssize_t slicelen)
387+
{
379388
HANDLE_INVALID_MEM(
380389
size_t cur;
381390
Py_ssize_t i;
@@ -387,7 +396,9 @@ safe_copy_from_slice(char *dest, const char *src, Py_ssize_t start, Py_ssize_t s
387396
}
388397

389398
int
390-
safe_copy_to_slice(char *dest, const char *src, Py_ssize_t start, Py_ssize_t step, Py_ssize_t slicelen) {
399+
safe_copy_to_slice(char *dest, const char *src, Py_ssize_t start,
400+
Py_ssize_t step, Py_ssize_t slicelen)
401+
{
391402
HANDLE_INVALID_MEM(
392403
size_t cur;
393404
Py_ssize_t i;
@@ -401,20 +412,24 @@ safe_copy_to_slice(char *dest, const char *src, Py_ssize_t start, Py_ssize_t ste
401412

402413
int
403414
_safe_PyBytes_Find(Py_ssize_t *out, mmap_object *self, const char *haystack,
404-
Py_ssize_t len_haystack, const char *needle, Py_ssize_t len_needle,
405-
Py_ssize_t offset) {
415+
Py_ssize_t len_haystack, const char *needle,
416+
Py_ssize_t len_needle, Py_ssize_t offset)
417+
{
406418
HANDLE_INVALID_MEM_METHOD(self,
407419
*out = _PyBytes_Find(haystack, len_haystack, needle, len_needle, offset);
408420
);
409421
return 0;
410422
}
411423

412424
int
413-
_safe_PyBytes_ReverseFind(Py_ssize_t *out, mmap_object *self, const char *haystack,
414-
Py_ssize_t len_haystack, const char *needle, Py_ssize_t len_needle,
415-
Py_ssize_t offset) {
425+
_safe_PyBytes_ReverseFind(Py_ssize_t *out, mmap_object *self,
426+
const char *haystack, Py_ssize_t len_haystack,
427+
const char *needle, Py_ssize_t len_needle,
428+
Py_ssize_t offset)
429+
{
416430
HANDLE_INVALID_MEM_METHOD(self,
417-
*out = _PyBytes_ReverseFind(haystack, len_haystack, needle, len_needle, offset);
431+
*out = _PyBytes_ReverseFind(haystack, len_haystack, needle, len_needle,
432+
offset);
418433
);
419434
return 0;
420435
}
@@ -505,7 +520,8 @@ mmap_read_method(mmap_object *self,
505520
if (num_bytes < 0 || num_bytes > remaining)
506521
num_bytes = remaining;
507522

508-
PyObject *result = _safe_PyBytes_FromStringAndSize(self->data + self->pos, num_bytes);
523+
PyObject *result = _safe_PyBytes_FromStringAndSize(self->data + self->pos,
524+
num_bytes);
509525
if (result != NULL) {
510526
self->pos += num_bytes;
511527
}
@@ -551,7 +567,8 @@ mmap_gfind(mmap_object *self,
551567
assert(0 <= start && start <= end && end <= self->size);
552568
if (_safe_PyBytes_ReverseFind(&index, self,
553569
self->data + start, end - start,
554-
view.buf, view.len, start) < 0) {
570+
view.buf, view.len, start) < 0)
571+
{
555572
result = NULL;
556573
}
557574
else {
@@ -562,7 +579,8 @@ mmap_gfind(mmap_object *self,
562579
assert(0 <= start && start <= end && end <= self->size);
563580
if (_safe_PyBytes_Find(&index, self,
564581
self->data + start, end - start,
565-
view.buf, view.len, start) < 0) {
582+
view.buf, view.len, start) < 0)
583+
{
566584
result = NULL;
567585
}
568586
else {
@@ -1087,7 +1105,9 @@ mmap_protect_method(mmap_object *self, PyObject *args) {
10871105
return NULL;
10881106
}
10891107

1090-
if (VirtualProtect((void *) (self->data + start), length, flNewProtect, &flOldProtect) == 0) {
1108+
if (!VirtualProtect((void *) (self->data + start), length, flNewProtect,
1109+
&flOldProtect))
1110+
{
10911111
PyErr_SetFromWindowsErr(GetLastError());
10921112
return NULL;
10931113
}
@@ -1263,7 +1283,9 @@ mmap_subscript(mmap_object *self, PyObject *item)
12631283
if (result_buf == NULL)
12641284
return PyErr_NoMemory();
12651285

1266-
if (safe_copy_to_slice(result_buf, self->data, start, step, slicelen) < 0) {
1286+
if (safe_copy_to_slice(result_buf, self->data, start, step,
1287+
slicelen) < 0)
1288+
{
12671289
result = NULL;
12681290
}
12691291
else {
@@ -1390,7 +1412,9 @@ mmap_ass_subscript(mmap_object *self, PyObject *item, PyObject *value)
13901412
}
13911413
}
13921414
else {
1393-
if (safe_copy_from_slice(self->data, (char *)vbuf.buf, start, step, slicelen) < 0) {
1415+
if (safe_copy_from_slice(self->data, (char *)vbuf.buf, start, step,
1416+
slicelen) < 0)
1417+
{
13941418
result = -1;
13951419
}
13961420
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.