1diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i
2index 51ee801..075ef70 100644
3--- a/pylibfdt/libfdt.i
4+++ b/pylibfdt/libfdt.i
5@@ -1044,9 +1044,9 @@ typedef uint32_t fdt32_t;
6 $result = Py_None;
7 else
8 %#if PY_VERSION_HEX >= 0x03000000
9- $result = Py_BuildValue("y#", $1, *arg4);
10+ $result = Py_BuildValue("y#", $1, (Py_ssize_t)*arg4);
11 %#else
12- $result = Py_BuildValue("s#", $1, *arg4);
13+ $result = Py_BuildValue("s#", $1, (Py_ssize_t)*arg4);
14 %#endif
15 }
16
17diff --git a/pylibfdt/setup.py b/pylibfdt/setup.py
18index ef40f15..81e161a 100755
19--- a/pylibfdt/setup.py
20+++ b/pylibfdt/setup.py
21@@ -42,6 +42,7 @@ def get_version():
22 libfdt_module = Extension(
23 '_libfdt',
24 sources=[os.path.join(srcdir, 'libfdt.i')],
25+ define_macros=[('PY_SSIZE_T_CLEAN', None)],
26 include_dirs=[os.path.join(srcdir, '../libfdt')],
27 libraries=['fdt'],
28 library_dirs=[os.path.join(top_builddir, 'libfdt')],