Python, Linux, and the setuid bit

Chris Angelico rosuav at gmail.com
Mon Apr 14 21:15:13 EDT 2014


On Tue, Apr 15, 2014 at 7:13 AM, Ethan Furman <ethan at stoneleaf.us> wrote:
> When I compiled it I was given a couple warnings.  Can any one shed light on
> what they mean?

They mean, most likely, that the author compiled the program on his
own computer and not on any other. If I had to make a guess, I'd say
that it would compile nicely on a 32-bit system, and you're running a
64-bit system; according to gcc on my amd64 Debian Wheezy here,
sizeof(short) is 2 bytes, int is 4, long is 8.

Do you feel like patching the program? As Grant says, casting to (char
*) is the more usual way to do this sort of arithmetic. Since they're
being cast to (unsigned int), you'll *probably* get away with this, as
long as the environment doesn't exceed 4GB in size (!!), so you could
just ignore it (it's a warning, not an error, after all); but you can
probably fix it for all platforms by making the two changes Grant
suggested.

ChrisA



More information about the Python-list mailing list