aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <dan@noemail.net>2017-10-23 16:03:54 +0000
committerdan <dan@noemail.net>2017-10-23 16:03:54 +0000
commit21cd29ab15630e29dc75dadbd8bb8d1e8fffbfc7 (patch)
treea3751758b6adac45e3f5391a8bac6cc0bfe31c0b /src
parent104a3b18b459fbe9883cc45ae16897a3155198f8 (diff)
downloadsqlite-21cd29ab15630e29dc75dadbd8bb8d1e8fffbfc7.tar.gz
sqlite-21cd29ab15630e29dc75dadbd8bb8d1e8fffbfc7.zip
Avoid passing a NULL value as the second argument to memcpy().
FossilOrigin-Name: 58e5bb491bc0e28412ca188ba8fbe94adc67b5b1e9d7c112c36011400528d577
Diffstat (limited to 'src')
-rw-r--r--src/expr.c2
-rw-r--r--src/vdbe.c11
2 files changed, 4 insertions, 9 deletions
diff --git a/src/expr.c b/src/expr.c
index 0b922cd0f..31e9a9386 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -2678,7 +2678,7 @@ int sqlite3CodeSubselect(
/* Loop through each expression in <exprlist>. */
r1 = sqlite3GetTempReg(pParse);
r2 = sqlite3GetTempReg(pParse);
- if( isRowid ) sqlite3VdbeAddOp2(v, OP_Null, 0, r2);
+ if( isRowid ) sqlite3VdbeAddOp4(v, OP_Blob, 0, r2, 0, "", P4_STATIC);
for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
Expr *pE2 = pItem->pExpr;
int iValToIns;
diff --git a/src/vdbe.c b/src/vdbe.c
index 9687170be..cfe18a9d1 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -4435,14 +4435,9 @@ case OP_InsertInt: {
if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++;
if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = x.nKey;
- if( pData->flags & MEM_Null ){
- x.pData = 0;
- x.nData = 0;
- }else{
- assert( pData->flags & (MEM_Blob|MEM_Str) );
- x.pData = pData->z;
- x.nData = pData->n;
- }
+ assert( pData->flags & (MEM_Blob|MEM_Str) );
+ x.pData = pData->z;
+ x.nData = pData->n;
seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0);
if( pData->flags & MEM_Zero ){
x.nZero = pData->u.nZero;