summaryrefslogtreecommitdiff
path: root/Parser
diff options
context:
space:
mode:
authorGregory P. Smith <greg@mad-scientist.com>2008-06-11 07:41:16 +0000
committerGregory P. Smith <greg@mad-scientist.com>2008-06-11 07:41:16 +0000
commit55d04f9a23e995bfc74182374e4346d839a05c5d (patch)
treeec699208494810d2dd64ad20e56e34bf9829eb27 /Parser
parentead1f7120c99a2b977c089039e00d35dd28de296 (diff)
downloadcpython-55d04f9a23e995bfc74182374e4346d839a05c5d.tar.gz
Merge in release25-maint r60793:
Added checks for integer overflows, contributed by Google. Some are only available if asserts are left in the code, in cases where they can't be triggered from Python code.
Diffstat (limited to 'Parser')
-rw-r--r--Parser/node.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Parser/node.c b/Parser/node.c
index d133a0d178..f4c86cb0ff 100644
--- a/Parser/node.c
+++ b/Parser/node.c
@@ -91,6 +91,9 @@ PyNode_AddChild(register node *n1, int type, char *str, int lineno, int col_offs
if (current_capacity < 0 || required_capacity < 0)
return E_OVERFLOW;
if (current_capacity < required_capacity) {
+ if (required_capacity > PY_SIZE_MAX / sizeof(node)) {
+ return E_NOMEM;
+ }
n = n1->n_child;
n = (node *) PyObject_REALLOC(n,
required_capacity * sizeof(node));