From cbae82ba960a0baaae6437b176a310f078ce07d8 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 22 Sep 2020 08:48:39 -0500 Subject: [PATCH] Fix T78823: Slash in custom property name does not work Some characters: `'`, `"`, and `\`, can cause problems with RNA paths. Instead of using more complicated handling to deal with those cases, we can just prevent these characters from being used in custom property names. This commit checks for these characters to `idp_try_read_name`, where other checks like length are already done. Differential Revision: https://developer.blender.org/D8839 --- source/blender/python/generic/idprop_py_api.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c index 314a34e3dec..6f5f36ec42f 100644 --- a/source/blender/python/generic/idprop_py_api.c +++ b/source/blender/python/generic/idprop_py_api.c @@ -20,6 +20,8 @@ #include +#include + #include "MEM_guardedalloc.h" #include "BLI_utildefines.h" @@ -370,6 +372,11 @@ static const char *idp_try_read_name(PyObject *name_obj) "the length of IDProperty names is limited to 63 characters"); return NULL; } + + if (strchr(name, '\"') || strchr(name, '\\') || strchr(name, '\'')) { + PyErr_SetString(PyExc_KeyError, "IDProperty names cannot include \", \\, or \'"); + return NULL; + } } else { name = "";