New submission from STINNER Victor:

On Windows x64, we get the following warning:

..\Objects\codeobject.c(106): warning C4244: '=' : conversion from 'Py_ssize_t' 
to 'unsigned char', possible loss of data 
[C:\buildbot.python.org\3.x.kloth-win64\build\PCbuild\pythoncore.vcxproj]

Code:

            unsigned char *cell2arg = NULL;
            Py_ssize_t total_args = argcount + kwonlyargcount +
            ((flags & CO_VARARGS) != 0) + ((flags & CO_VARKEYWORDS) != 0);
            PyObject *cell = PyTuple_GET_ITEM(cellvars, i);
            for (j = 0; j < total_args; j++) {
                PyObject *arg = PyTuple_GET_ITEM(varnames, j);
                if (!PyUnicode_Compare(cell, arg)) {
      ====>         cell2arg[i] = j; <===== HERE
                    used_cell2arg = 1;
                    break;
                }
            }

total_args is not checked for being smaller than 256.

Related issue: #9566.

----------
components: Interpreter Core
messages: 191805
nosy: haypo
priority: normal
severity: normal
status: open
title: Possible integer overflow in PyCode_New()
versions: Python 3.4

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue18295>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to