Make assembly language versions of OPENSSL_cleanse() accept zero length
[openssl.git] / crypto / x86cpuid.pl
index e5dcc5812485d407b0b28059bc18c8874e6c082e..a7464af19b771d48aca8b3669e827ff843d29c82 100644 (file)
@@ -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);