diff options
author | drh <drh@noemail.net> | 2009-05-05 15:46:43 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2009-05-05 15:46:43 +0000 |
commit | 3500ed6650b72640070fd03f76661005f565d7bb (patch) | |
tree | 8ded86471ad2fc065a016482f965a7fbec4284db /src/resolve.c | |
parent | e289d6069ad2ae464405c152a3c57235a8b8246e (diff) | |
download | sqlite-3500ed6650b72640070fd03f76661005f565d7bb.tar.gz sqlite-3500ed6650b72640070fd03f76661005f565d7bb.zip |
Make sure the left-shift operator never overflows. (CVS 6605)
FossilOrigin-Name: 300da30178c46ab9f2ceb0c3e3ee3eac73d5d8e1
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/resolve.c b/src/resolve.c index ac6ada05e..4d34317e0 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -14,7 +14,7 @@ ** resolve all identifiers by associating them with a particular ** table and column. ** -** $Id: resolve.c,v 1.21 2009/05/01 21:13:37 drh Exp $ +** $Id: resolve.c,v 1.22 2009/05/05 15:46:43 drh Exp $ */ #include "sqliteInt.h" #include <stdlib.h> @@ -248,7 +248,11 @@ static int lookupName( if( iCol>=0 ){ testcase( iCol==31 ); testcase( iCol==32 ); - *piColMask |= ((u32)1<<iCol) | (iCol>=32?0xffffffff:0); + if( iCol>=32 ){ + *piColMask = 0xffffffff; + }else{ + *piColMask |= ((u32)1)<<iCol; + } } break; } |