[Python-checkins] cpython (3.3): Reject float as uid or gid.
serhiy.storchaka
python-checkins at python.org
Sun Feb 10 22:29:29 CET 2013
http://hg.python.org/cpython/rev/4ef048f4834e
changeset: 82147:4ef048f4834e
branch: 3.3
parent: 82145:b322655a4a88
user: Serhiy Storchaka <storchaka at gmail.com>
date: Sun Feb 10 23:28:02 2013 +0200
summary:
Reject float as uid or gid.
A regression was introduced in the commit for issue issue #4591.
files:
Modules/posixmodule.c | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -437,7 +437,13 @@
_Py_Uid_Converter(PyObject *obj, void *p)
{
int overflow;
- long result = PyLong_AsLongAndOverflow(obj, &overflow);
+ long result;
+ if (PyFloat_Check(obj)) {
+ PyErr_SetString(PyExc_TypeError,
+ "integer argument expected, got float");
+ return 0;
+ }
+ result = PyLong_AsLongAndOverflow(obj, &overflow);
if (overflow < 0)
goto OverflowDown;
if (!overflow && result == -1) {
@@ -485,7 +491,13 @@
_Py_Gid_Converter(PyObject *obj, void *p)
{
int overflow;
- long result = PyLong_AsLongAndOverflow(obj, &overflow);
+ long result;
+ if (PyFloat_Check(obj)) {
+ PyErr_SetString(PyExc_TypeError,
+ "integer argument expected, got float");
+ return 0;
+ }
+ result = PyLong_AsLongAndOverflow(obj, &overflow);
if (overflow < 0)
goto OverflowDown;
if (!overflow && result == -1) {
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list