Issue #9647: os.confstr() ensures that the second call to confstr() returns the
same length.
This commit is contained in:
parent
efb4835f36
commit
cbc18f328c
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue