diff options
author | drh <drh@noemail.net> | 2020-05-26 11:10:25 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2020-05-26 11:10:25 +0000 |
commit | ed1e91044878b2a2714d973f51ec522fad551f0b (patch) | |
tree | a87d895337579ab869c482bebb96ff7a96425741 /src | |
parent | bdd4f7d91c7ee622c914d96f8f36e6b6d523f9df (diff) | |
parent | d3bf76612724f79616d6aba959af92b609b941c9 (diff) | |
download | sqlite-ed1e91044878b2a2714d973f51ec522fad551f0b.tar.gz sqlite-ed1e91044878b2a2714d973f51ec522fad551f0b.zip |
Changes to sqlite3SelectNew() to work around a false-positive warning
from GCC-10. The code is very slightly larger and slower as a result.
FossilOrigin-Name: 04e1edd8e5821a377407263829ed0d87968c708c9aeb1282107ea6f39a11c1cc
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/select.c b/src/select.c index 534dfbc01..7ff2b5d34 100644 --- a/src/select.c +++ b/src/select.c @@ -138,9 +138,9 @@ Select *sqlite3SelectNew( u32 selFlags, /* Flag parameters, such as SF_Distinct */ Expr *pLimit /* LIMIT value. NULL means not used */ ){ - Select *pNew; + Select *pNew, *pAllocated; Select standin; - pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); + pAllocated = pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); if( pNew==0 ){ assert( pParse->db->mallocFailed ); pNew = &standin; @@ -174,12 +174,11 @@ Select *sqlite3SelectNew( #endif if( pParse->db->mallocFailed ) { clearSelect(pParse->db, pNew, pNew!=&standin); - pNew = 0; + pAllocated = 0; }else{ assert( pNew->pSrc!=0 || pParse->nErr>0 ); } - assert( pNew!=&standin ); - return pNew; + return pAllocated; } |