aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2009-05-05 15:46:43 +0000
committerdrh <drh@noemail.net>2009-05-05 15:46:43 +0000
commit3500ed6650b72640070fd03f76661005f565d7bb (patch)
tree8ded86471ad2fc065a016482f965a7fbec4284db /src/resolve.c
parente289d6069ad2ae464405c152a3c57235a8b8246e (diff)
downloadsqlite-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.c8
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;
}