From 2382938c4560b8a78a321e9c4a1e50e4ed2e4d31 Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Sun, 22 Apr 2012 19:11:37 +0430 Subject: [PATCH] memchr: handle zero length --- x86/string.s | 4 ++++ x86_64/string.s | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/x86/string.s b/x86/string.s index a361932..215319c 100644 --- a/x86/string.s +++ b/x86/string.s @@ -64,6 +64,8 @@ memchr: mov ecx, [esp+12] push edi mov edi, [esp+8] + test ecx, ecx + jz .failed cld repnz scasb jne .failed @@ -118,6 +120,8 @@ memrchr: mov edi, [esp+8] add edi, ecx dec edi + test ecx, ecx + jz .failed std repnz scasb jne .failed diff --git a/x86_64/string.s b/x86_64/string.s index 9793df1..873b707 100644 --- a/x86_64/string.s +++ b/x86_64/string.s @@ -46,6 +46,8 @@ public memchr memchr: mov rax, rsi mov rcx, rdx + test rcx, rcx + jz .failed cld repnz scasb jne .failed @@ -90,6 +92,8 @@ memrchr: mov rcx, rdx add rdi, rcx dec rdi + test rcx, rcx + jz .failed std repnz scasb jne .failed -- 2.11.4.GIT