diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2010-10-05 13:06:19 +1030 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2010-10-06 08:31:09 +0000 |
commit | 2db1987f5a3a4268ce64fe570ff598e3bf4ecc73 (patch) | |
tree | 080f0709932447a536ff172a18a05fa94c2bee6d /source4/lib/tdb_wrap.c | |
parent | 58c1d0c256c8bfedf6a1a734bfba34c637f34035 (diff) | |
download | samba-2db1987f5a3a4268ce64fe570ff598e3bf4ecc73.tar.gz samba-2db1987f5a3a4268ce64fe570ff598e3bf4ecc73.tar.bz2 samba-2db1987f5a3a4268ce64fe570ff598e3bf4ecc73.zip |
idtree: fix right shift of signed ints, crash on large ids on AIX
Right-shifting signed integers in undefined; indeed it seems that on
AIX with their compiler, doing a 30-bit shift on (INT_MAX-200) gives
0, not 1 as we might expect.
The obvious fix is to make id and oid unsigned: l (level count) is also
logically unsigned.
(Note: Samba doesn't generally get to ids > 1 billion, but ctdb does)
Reported-by: Chris Cowan <cc@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Autobuild-User: Rusty Russell <rusty@samba.org>
Autobuild-Date: Wed Oct 6 08:31:09 UTC 2010 on sn-devel-104
Diffstat (limited to 'source4/lib/tdb_wrap.c')
0 files changed, 0 insertions, 0 deletions