Author: rhs
Date: Fri Jul 27 16:53:43 2007
New Revision: 560425
URL: http://svn.apache.org/viewvc?view=rev&rev=560425
Log:
added an explicit upper bound check for longs
Modified:
incubator/qpid/trunk/qpid/python/qpid/codec.py
Modified: incubator/qpid/trunk/qpid/python/qpid/codec.py
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/qpid/codec.py?view=diff&rev=560425&r1=560424&r2=560425
==============================================================================
--- incubator/qpid/trunk/qpid/python/qpid/codec.py (original)
+++ incubator/qpid/trunk/qpid/python/qpid/codec.py Fri Jul 27 16:53:43 2007
@@ -178,8 +178,10 @@
encodes long (32 bits) data 'o' in network byte order
"""
- if (o < 0):
- raise ValueError('unsinged long int cannot be less than 0')
+ # we need to check both bounds because on 64 bit platforms
+ # struct.pack won't raise an error if o is too large
+ if (o < 0 or o > 4294967295):
+ raise ValueError('Valid range of long int is [0,4294967295]')
self.pack("!L", o)