summaryrefslogtreecommitdiff
path: root/qpid/python
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2007-07-27 23:53:43 +0000
committerRafael H. Schloming <rhs@apache.org>2007-07-27 23:53:43 +0000
commit5d7add0f735d963bb69f0a57a37ff9c090baf909 (patch)
tree7bdf13682ffdb27506787dfdc112147f063641de /qpid/python
parentab456bdfe544cde8060203210afd9828a52c3265 (diff)
downloadqpid-python-5d7add0f735d963bb69f0a57a37ff9c090baf909.tar.gz
added an explicit upper bound check for longs
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@560425 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
-rw-r--r--qpid/python/qpid/codec.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/qpid/python/qpid/codec.py b/qpid/python/qpid/codec.py
index a0d9696c8b..a11486376d 100644
--- a/qpid/python/qpid/codec.py
+++ b/qpid/python/qpid/codec.py
@@ -178,8 +178,10 @@ class Codec:
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)