File tree 7 files changed +20
-24
lines changed
7 files changed +20
-24
lines changed Original file line number Diff line number Diff line change @@ -28,14 +28,12 @@ jobs:
28
28
python-version : 3.13
29
29
30
30
- name : Install dependencies
31
- run : |
32
- python -m pip install --upgrade pip
33
- pip install setuptools wheel
31
+ run : python -m pip install uv
34
32
35
33
- name : Build and run analyzer
36
34
# We exclude extension/libmaxminddb/ as libmaxminddb has its own workflow
37
35
# for this and we are not able to correct any issues with that code here.
38
- run : scan-build --exclude extension/libmaxminddb/ --status-bugs python setup.py build
36
+ run : scan-build --exclude extension/libmaxminddb/ --status-bugs uv build
39
37
env :
40
38
CFLAGS : " -Werror -Wall -Wextra"
41
39
MAXMINDDB_REQUIRE_EXTENSION : 1
Original file line number Diff line number Diff line change 48
48
# uses a compiled language
49
49
50
50
- name : Install dependencies
51
- run : |
52
- python -m pip install --upgrade pip
53
- pip install setuptools wheel
51
+ run : python -m pip install uv
54
52
55
- - run : python setup.py build
53
+ - run : uv build
56
54
env :
57
55
MAXMINDDB_REQUIRE_EXTENSION : 1
58
56
Original file line number Diff line number Diff line change 40
40
- name : Install dependencies
41
41
run : |
42
42
python -m pip install --upgrade pip
43
- pip install setuptools tox tox-gh-actions wheel
43
+ pip install setuptools tox tox-gh-actions uv wheel
44
44
45
45
46
46
- name : Install libmaxminddb
58
58
echo "LDFLAGS=-L/opt/homebrew/lib" >> "$GITHUB_ENV"
59
59
60
60
- name : Build with Werror and Wall
61
- run : python setup.py build
61
+ run : uv build
62
62
env :
63
63
CFLAGS : " ${{ env.CFLAGS }} -Werror -Wall -Wextra"
64
64
Original file line number Diff line number Diff line change 4
4
* .so
5
5
* .sw ?
6
6
* ~
7
+ .clangd
7
8
.coverage
8
9
.eggs
9
10
.idea
Original file line number Diff line number Diff line change @@ -11,6 +11,8 @@ History
11
11
* The vendored ``libmaxminddb `` has been updated to 1.12.2.
12
12
* The C extension now checks that the database metadata lookup was
13
13
successful.
14
+ * A theoretical segmentation fault with the C extension when doing lookups
15
+ on a corrupt or invalid database was fixed.
14
16
15
17
2.6.3 (2025-01-09)
16
18
++++++++++++++++++
Original file line number Diff line number Diff line change @@ -751,10 +751,7 @@ static PyObject *from_map(MMDB_entry_data_list_s **entry_data_list) {
751
751
const uint32_t map_size = (* entry_data_list )-> entry_data .data_size ;
752
752
753
753
uint32_t i ;
754
- // entry_data_list cannot start out NULL (see from_entry_data_list). We
755
- // check it in the loop because it may become NULL.
756
- // coverity[check_after_deref]
757
- for (i = 0 ; i < map_size && entry_data_list ; i ++ ) {
754
+ for (i = 0 ; i < map_size && * entry_data_list ; i ++ ) {
758
755
* entry_data_list = (* entry_data_list )-> next ;
759
756
760
757
PyObject * key = PyUnicode_FromStringAndSize (
@@ -792,10 +789,7 @@ static PyObject *from_array(MMDB_entry_data_list_s **entry_data_list) {
792
789
}
793
790
794
791
uint32_t i ;
795
- // entry_data_list cannot start out NULL (see from_entry_data_list). We
796
- // check it in the loop because it may become NULL.
797
- // coverity[check_after_deref]
798
- for (i = 0 ; i < size && entry_data_list ; i ++ ) {
792
+ for (i = 0 ; i < size && * entry_data_list ; i ++ ) {
799
793
* entry_data_list = (* entry_data_list )-> next ;
800
794
PyObject * value = from_entry_data_list (entry_data_list );
801
795
if (value == NULL ) {
Original file line number Diff line number Diff line change 1
- [build-system ]
2
- requires = [" setuptools>=68.2.2" , " setuptools-scm" , " wheel" ]
3
- build-backend = " setuptools.build_meta"
4
-
5
1
[project ]
6
2
name = " maxminddb"
7
3
version = " 2.6.3"
@@ -11,13 +7,12 @@ authors = [
11
7
]
12
8
requires-python = " >=3.9"
13
9
readme = " README.rst"
14
- license = { text = " Apache License, Version 2.0" }
10
+ license = " Apache- 2.0"
15
11
classifiers = [
16
12
" Development Status :: 5 - Production/Stable" ,
17
13
" Environment :: Web Environment" ,
18
14
" Intended Audience :: Developers" ,
19
15
" Intended Audience :: System Administrators" ,
20
- " License :: OSI Approved :: Apache Software License" ,
21
16
" Programming Language :: Python" ,
22
17
" Programming Language :: Python :: 3" ,
23
18
" Programming Language :: Python :: 3.9" ,
@@ -46,6 +41,14 @@ lint = [
46
41
" ruff>=0.11.6" ,
47
42
]
48
43
44
+ [build-system ]
45
+ requires = [
46
+ " setuptools>=77.0.3" ,
47
+ " setuptools-scm" ,
48
+ " wheel" ,
49
+ ]
50
+ build-backend = " setuptools.build_meta"
51
+
49
52
[tool .setuptools .package-data ]
50
53
maxminddb = [" py.typed" ]
51
54
You can’t perform that action at this time.
0 commit comments