summaryrefslogtreecommitdiffstats
path: root/crypto/x86cpuid.pl
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-02-12 17:02:13 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-02-12 17:02:13 +0000
commit1d8fa09c80232ee924fdf87000e3473b40c37da2 (patch)
treee8e3ac72b79248b715813bc62089ec6e51eff2a9 /crypto/x86cpuid.pl
parente085e6c84c2827d6bff3cc13bcb8a97db23dd188 (diff)
Make assembly language versions of OPENSSL_cleanse() accept zero length
parameter. Backport from HEAD, orginal by appro.
Diffstat (limited to 'crypto/x86cpuid.pl')
-rw-r--r--crypto/x86cpuid.pl3
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/x86cpuid.pl b/crypto/x86cpuid.pl
index e5dcc58124..a7464af19b 100644
--- a/crypto/x86cpuid.pl
+++ b/crypto/x86cpuid.pl
@@ -279,11 +279,14 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&xor ("eax","eax");
&cmp ("ecx",7);
&jae (&label("lot"));
+ &cmp ("ecx",0);
+ &je (&label("ret"));
&set_label("little");
&mov (&BP(0,"edx"),"al");
&sub ("ecx",1);
&lea ("edx",&DWP(1,"edx"));
&jnz (&label("little"));
+&set_label("ret");
&ret ();
&set_label("lot",16);