aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-08-12 11:01:20 +0000
committerdrh <drh@noemail.net>2016-08-12 11:01:20 +0000
commita48d7e77496b1463c2bea902b331b049bbcaeb01 (patch)
tree3b303936e075d099f92ff1b56de50b0f6e233068 /src/expr.c
parent088645b090ccc41ac2d8d00441d958917d846b22 (diff)
downloadsqlite-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.c5
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;
}