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 ukl
Recipients ukl
Date 2017-06-14.14:27:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1497450472.17.0.838126084809.issue30665@psf.upfronthosting.co.za>
In-reply-to
Content
When passing a big integer value to fcntl.ioctl this might result in

     OverflowError: signed integer is greater than maximum

. Traditionally ioctl(3) takes a pointer as third argument. The fcntl module however uses an int (format specifier 'i') which is too small to hold a pointer on 64 bit architectures.

The fix is to use 'k' (and an unsigned long) instead of 'i' (and an int). An unsigned long is suitable to hold a pointer value on AFAIK all platforms that matter today. (And it works on all platforms where int is already good enough, so the suggested change doesn't do any harm.)

A patch is attached.
History
Date User Action Args
2017-06-14 14:27:52uklsetrecipients: + ukl
2017-06-14 14:27:52uklsetmessageid: <1497450472.17.0.838126084809.issue30665@psf.upfronthosting.co.za>
2017-06-14 14:27:52ukllinkissue30665 messages
2017-06-14 14:27:51uklcreate