This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author David Heffernan
Recipients David Heffernan, amaury.forgeotdarc, belopolsky, coderforlife, ezio.melotti, loewis, meador.inge
Date 2017-05-10.09:50:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1494409846.49.0.489025837406.issue16865@psf.upfronthosting.co.za>
In-reply-to
Content
I just ran into this issue. I'm trying to write code like this:

(ctypes.c_char*bufferLen).from_buffer(buffer)

where buffer is a bytearray. When bufferLen is greater than 2GB I fail foul of this code in _ctypes.c

    long length;
    ....
    length = PyLong_AsLongAndOverflow(length_attr, &overflow);
    if (overflow) {
        PyErr_SetString(PyExc_OverflowError,
                        "The '_length_' attribute is too large");
        Py_DECREF(length_attr);
        goto error;
    }

Surely this should not be forcing long on us. Can't it use PyLong_AsSsize_t or perhaps PyLong_AsLongLongAndOverflow?
History
Date User Action Args
2017-05-10 09:50:46David Heffernansetrecipients: + David Heffernan, loewis, amaury.forgeotdarc, belopolsky, ezio.melotti, meador.inge, coderforlife
2017-05-10 09:50:46David Heffernansetmessageid: <1494409846.49.0.489025837406.issue16865@psf.upfronthosting.co.za>
2017-05-10 09:50:46David Heffernanlinkissue16865 messages
2017-05-10 09:50:46David Heffernancreate