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)
 


Reply via email to