diff options
author | drh <drh@noemail.net> | 2017-03-16 14:28:52 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2017-03-16 14:28:52 +0000 |
commit | b30574bcae87dd4efe6de37d47a215e112824fe2 (patch) | |
tree | 05efb4f97b7ecbf540be5d73f0d88f7319d69e6c /src/func.c | |
parent | 85c2dc0ae6e5b68632f69681853aa0301e1775f2 (diff) | |
download | sqlite-b30574bcae87dd4efe6de37d47a215e112824fe2.tar.gz sqlite-b30574bcae87dd4efe6de37d47a215e112824fe2.zip |
Simplified OOM detection in the instr() SQL function.
FossilOrigin-Name: 6d85eb5736781b43aa674d9544c7523b849b4e634f371702f8764b33e22e1e9f
Diffstat (limited to 'src/func.c')
-rw-r--r-- | src/func.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/func.c b/src/func.c index 181032a5e..3d5a059a9 100644 --- a/src/func.c +++ b/src/func.c @@ -205,16 +205,12 @@ static void instrFunc( zHaystack = sqlite3_value_blob(argv[0]); zNeedle = sqlite3_value_blob(argv[1]); isText = 0; - /* The following condition may be true if the arguments passed to this - ** function are values returned by zeroblob() or similar and an OOM - ** occurs while expanding the blob value. */ - if( zNeedle==0 || (nHaystack && zHaystack==0) ) return; }else{ zHaystack = sqlite3_value_text(argv[0]); zNeedle = sqlite3_value_text(argv[1]); isText = 1; - if( zHaystack==0 || zNeedle==0 ) return; } + if( zNeedle==0 || (nHaystack && zHaystack==0) ) return; while( nNeedle<=nHaystack && memcmp(zHaystack, zNeedle, nNeedle)!=0 ){ N++; do{ |