diff options
author | Steve Dower <steve.dower@microsoft.com> | 2017-02-04 15:05:50 -0800 |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2017-02-04 15:05:50 -0800 |
commit | 3b0e4320092ac0504b6670cafaf0301b908c91fc (patch) | |
tree | d3be1b6b844d61763bb366fa21ceed475e5703fd /PC/_msi.c | |
parent | b2fa705fd3887c326e811c418469c784353027f4 (diff) | |
parent | f687fbcd73c14dfcbe086eb5cd94b298f1e81e72 (diff) | |
download | cpython-3b0e4320092ac0504b6670cafaf0301b908c91fc.tar.gz |
Issue #29392: Prevent crash when passing invalid arguments into msvcrt module.
Diffstat (limited to 'PC/_msi.c')
-rw-r--r-- | PC/_msi.c | 36 |
1 files changed, 12 insertions, 24 deletions
@@ -262,8 +262,7 @@ static PyObject* fcicreate(PyObject* obj, PyObject* args) if (!FCIDestroy(hfci)) goto err; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; err: if(erf.fError) PyErr_Format(PyExc_ValueError, "FCI error %d", erf.erfOper); /* XXX better error type */ @@ -291,8 +290,7 @@ msiobj_close(msiobj* msidb, PyObject *args) { MsiCloseHandle(msidb->h); msidb->h = 0; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* @@ -401,8 +399,7 @@ record_cleardata(msiobj* record, PyObject *args) if (status != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* @@ -418,8 +415,7 @@ record_setstring(msiobj* record, PyObject *args) if ((status = MsiRecordSetStringW(record->h, field, data)) != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* @@ -435,8 +431,7 @@ record_setstream(msiobj* record, PyObject *args) if ((status = MsiRecordSetStreamW(record->h, field, data)) != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* @@ -452,8 +447,7 @@ record_setinteger(msiobj* record, PyObject *args) if ((status = MsiRecordSetInteger(record->h, field, data)) != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -617,8 +611,7 @@ summary_setproperty(msiobj* si, PyObject *args) if (status != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } @@ -630,8 +623,7 @@ summary_persist(msiobj* si, PyObject *args) status = MsiSummaryInfoPersist(si->h); if (status != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyMethodDef summary_methods[] = { @@ -714,8 +706,7 @@ view_execute(msiobj *view, PyObject*args) if (status != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* @@ -764,8 +755,7 @@ view_modify(msiobj *view, PyObject *args) if ((status = MsiViewModify(view->h, kind, ((msiobj*)data)->h)) != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* @@ -776,8 +766,7 @@ view_close(msiobj *view, PyObject*args) if ((status = MsiViewClose(view->h)) != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyMethodDef view_methods[] = { @@ -872,8 +861,7 @@ msidb_commit(msiobj *msidb, PyObject *args) if ((status = MsiDatabaseCommit(msidb->h)) != ERROR_SUCCESS) return msierror(status); - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject* |