| From 07b1c4c8a736a31ac4b8ae13ea25d50793dfea83 Mon Sep 17 00:00:00 2001 |
| From: Mike Gorse <mgorse@alum.wpi.edu> |
| Date: Fri, 25 Jan 2019 12:55:52 -0600 |
| Subject: [PATCH] python: return None if PY_IMPORT_STRING returns NULL |
| |
| PY_IMPORT_STRING might return NULL on python 3 if, ie, a string can't be |
| encoded. We should check for this and return None, rather than returning |
| NULL. Fixes a NULL pointer dereference when reporting an error with an |
| invalid string. |
| --- |
| python/types.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/python/types.c b/python/types.c |
| index 124af565..50951ba3 100644 |
| --- a/python/types.c |
| +++ b/python/types.c |
| @@ -150,6 +150,10 @@ libxml_charPtrConstWrap(const char *str) |
| return (Py_None); |
| } |
| ret = PY_IMPORT_STRING(str); |
| + if (ret == NULL) { |
| + Py_INCREF(Py_None); |
| + return (Py_None); |
| + } |
| return (ret); |
| } |
| |
| -- |
| GitLab |
| |