From cbc18f328c7b87cf57763da3c660897cc0c7886c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 5 Dec 2014 22:51:51 +0100 Subject: Issue #9647: os.confstr() ensures that the second call to confstr() returns the same length. --- Modules/posixmodule.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index eb0a68d..bd7cd8a 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -14369,10 +14369,12 @@ os_confstr_impl(PyModuleDef *module, int name) } if (len >= sizeof(buffer)) { + size_t len2; char *buf = PyMem_Malloc(len); if (buf == NULL) return PyErr_NoMemory(); - confstr(name, buf, len); + len2 = confstr(name, buf, len); + assert(len == len2); result = PyUnicode_DecodeFSDefaultAndSize(buf, len-1); PyMem_Free(buf); } -- cgit v0.12