aboutsummaryrefslogtreecommitdiff
path: root/pylibfdt
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2019-02-18 17:48:54 +0100
committerDavid Gibson <david@gibson.dropbear.id.au>2019-02-19 13:51:48 +1100
commit364631626bb78a40c1a1c70d5502ab0e953a7829 (patch)
tree91d9977320e05f56abce4e10ad6170aa2b976828 /pylibfdt
parentcb0f454f73cc85019b0b844e3fd66caa2d219d5c (diff)
downloaddtc-364631626bb78a40c1a1c70d5502ab0e953a7829.zip
dtc-364631626bb78a40c1a1c70d5502ab0e953a7829.tar.gz
dtc-364631626bb78a40c1a1c70d5502ab0e953a7829.tar.bz2
pylibfdt: Test fdt.setprop take bytes on Python 3, add error handling
Signed-off-by: Petr Viktorin <pviktori@redhat.com> Message-Id: <20190218164856.23861-3-frenzy@frenzy.cz> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'pylibfdt')
-rw-r--r--pylibfdt/libfdt.i4
1 files changed, 4 insertions, 0 deletions
diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i
index 084bc5b..4f14403 100644
--- a/pylibfdt/libfdt.i
+++ b/pylibfdt/libfdt.i
@@ -1084,6 +1084,10 @@ typedef uint32_t fdt32_t;
/* typemap used for fdt_setprop() */
%typemap(in) (const void *val) {
%#if PY_VERSION_HEX >= 0x03000000
+ if (!PyBytes_Check($input)) {
+ SWIG_exception_fail(SWIG_TypeError, "bytes expected in method '" "$symname"
+ "', argument " "$argnum"" of type '" "$type""'");
+ }
$1 = PyBytes_AsString($input);
%#else
$1 = PyString_AsString($input); /* char *str */