diff options
author | drh <drh@noemail.net> | 2016-08-12 11:01:20 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-08-12 11:01:20 +0000 |
commit | a48d7e77496b1463c2bea902b331b049bbcaeb01 (patch) | |
tree | 3b303936e075d099f92ff1b56de50b0f6e233068 /src/expr.c | |
parent | 088645b090ccc41ac2d8d00441d958917d846b22 (diff) | |
download | sqlite-a48d7e77496b1463c2bea902b331b049bbcaeb01.tar.gz sqlite-a48d7e77496b1463c2bea902b331b049bbcaeb01.zip |
Fix a post-OOM memory leak.
FossilOrigin-Name: 14009b32b955b42cfd5f0c2ce7d4b3ce19ce201e
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c index 8303c5f78..5ef692a44 100644 --- a/src/expr.c +++ b/src/expr.c @@ -2506,12 +2506,13 @@ static void sqlite3ExprCodeIN( if( sqlite3ExprCheckIN(pParse, pExpr) ) return; zAff = exprINAffinity(pParse, pExpr); + if( zAff==0 ) return; nVector = sqlite3ExprVectorSize(pExpr->pLeft); aiMap = (int*)sqlite3DbMallocZero( pParse->db, nVector*(sizeof(int) + sizeof(char)) + 1 ); - if( !zAff || !aiMap ){ - sqlite3DbFree(pParse->db, aiMap); + if( aiMap==0 ){ + sqlite3DbFree(pParse->db, zAff); return; } |