Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
def normalise_int32(ivalue):
"""normalise a ldap integer to signed 32 bit"""
- if int(ivalue) & 0x80000000 and int(ivalue) > 0:
+ ivalue = int(ivalue)
+ if ivalue > 0xffffffff or ivalue < -0x80000000:
+ raise ValueError(f"{ivalue} (0x{ivalue:x}) does not fit in 32 bits.")
+ if ivalue >= 0x80000000:
return str(int(ivalue) - 0x100000000)
return str(ivalue)
+++ /dev/null
-samba.tests.common.samba.tests.common.CommonTests.test_normalise_int32