Skip to content

Commit 072fde5

Browse files
authored
Merge pull request #94 from maxmind/horgh/flags
Enable more compiler warnings
2 parents 324cafe + 9197405 commit 072fde5

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

.github/workflows/address-sanitizer.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ jobs:
99
name: Address Sanitizer
1010
runs-on: ubuntu-latest
1111
env:
12-
CFLAGS: -fsanitize=address
12+
ASAN_OPTIONS: strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2
13+
CC: clang
14+
CFLAGS: -fsanitize=address -Wall -Wextra -Wpedantic -Wformat=2 -Walloca -Wvla -Wimplicit-fallthrough -Wcast-qual -Wconversion -Wshadow -Wundef -Wstrict-prototypes -Wswitch-enum -fstack-protector -D_FORTIFY_SOURCE=2 -Werror
1315
LDFLAGS: -fsanitize=address
1416
steps:
1517
- name: Checkout

extension/maxminddb.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ static int Reader_init(PyObject *self, PyObject *args, PyObject *kwds) {
9999
return -1;
100100
}
101101

102-
uint16_t status = MMDB_open(filename, MMDB_MODE_MMAP, mmdb);
102+
int const status = MMDB_open(filename, MMDB_MODE_MMAP, mmdb);
103103
Py_XDECREF(filepath);
104104

105105
if (MMDB_SUCCESS != status) {
@@ -276,14 +276,14 @@ static int ip_converter(PyObject *obj, struct sockaddr_storage *ip_address) {
276276
case 16: {
277277
ip_address->ss_family = AF_INET6;
278278
struct sockaddr_in6 *sin = (struct sockaddr_in6 *)ip_address;
279-
memcpy(sin->sin6_addr.s6_addr, bytes, len);
279+
memcpy(sin->sin6_addr.s6_addr, bytes, (size_t)len);
280280
Py_DECREF(packed);
281281
return 1;
282282
}
283283
case 4: {
284284
ip_address->ss_family = AF_INET;
285285
struct sockaddr_in *sin = (struct sockaddr_in *)ip_address;
286-
memcpy(&(sin->sin_addr.s_addr), bytes, len);
286+
memcpy(&(sin->sin_addr.s_addr), bytes, (size_t)len);
287287
Py_DECREF(packed);
288288
return 1;
289289
}
@@ -526,7 +526,7 @@ static PyObject *from_map(MMDB_entry_data_list_s **entry_data_list) {
526526
*entry_data_list = (*entry_data_list)->next;
527527

528528
PyObject *key = PyUnicode_FromStringAndSize(
529-
(char *)(*entry_data_list)->entry_data.utf8_string,
529+
(*entry_data_list)->entry_data.utf8_string,
530530
(*entry_data_list)->entry_data.data_size);
531531
if (!key) {
532532
// PyUnicode_FromStringAndSize will set an appropriate exception

0 commit comments

Comments
 (0)