aboutsummaryrefslogtreecommitdiff
path: root/src/func.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2017-03-16 14:28:52 +0000
committerdrh <drh@noemail.net>2017-03-16 14:28:52 +0000
commitb30574bcae87dd4efe6de37d47a215e112824fe2 (patch)
tree05efb4f97b7ecbf540be5d73f0d88f7319d69e6c /src/func.c
parent85c2dc0ae6e5b68632f69681853aa0301e1775f2 (diff)
downloadsqlite-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.c6
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{