@@ -255,6 +255,7 @@ readline_read_init_file_impl(PyObject *module, PyObject *filename_obj)
255255 if (!PyUnicode_FSConverter (filename_obj , & filename_bytes ))
256256 return NULL ;
257257 if (PySys_Audit ("open" , "OCi" , filename_obj , 'r' , 0 ) < 0 ) {
258+ Py_DECREF (filename_bytes );
258259 return NULL ;
259260 }
260261 errno = rl_read_init_file (PyBytes_AS_STRING (filename_bytes ));
@@ -298,6 +299,7 @@ readline_read_history_file_impl(PyObject *module, PyObject *filename_obj)
298299 if (!PyUnicode_FSConverter (filename_obj , & filename_bytes ))
299300 return NULL ;
300301 if (PySys_Audit ("open" , "OCi" , filename_obj , 'r' , 0 ) < 0 ) {
302+ Py_DECREF (filename_bytes );
301303 return NULL ;
302304 }
303305 errno = read_history (PyBytes_AS_STRING (filename_bytes ));
@@ -343,6 +345,7 @@ readline_write_history_file_impl(PyObject *module, PyObject *filename_obj)
343345 return NULL ;
344346 filename = PyBytes_AS_STRING (filename_bytes );
345347 if (PySys_Audit ("open" , "OCi" , filename_obj , 'w' , 0 ) < 0 ) {
348+ Py_DECREF (filename_bytes );
346349 return NULL ;
347350 }
348351 } else {
@@ -400,6 +403,7 @@ readline_append_history_file_impl(PyObject *module, int nelements,
400403 return NULL ;
401404 filename = PyBytes_AS_STRING (filename_bytes );
402405 if (PySys_Audit ("open" , "OCi" , filename_obj , 'a' , 0 ) < 0 ) {
406+ Py_DECREF (filename_bytes );
403407 return NULL ;
404408 }
405409 } else {
0 commit comments