rsaenh: Fix padding bytes check for 0-byte payload.
diff --git a/dlls/crypt32/tests/protectdata.c b/dlls/crypt32/tests/protectdata.c
index c3173c3..91bad8e 100644
--- a/dlls/crypt32/tests/protectdata.c
+++ b/dlls/crypt32/tests/protectdata.c
@@ -213,7 +213,7 @@
     plain.cbData=0;
 }
 
-static void test_simpleroundtrip(const char *plaintext, int wine_fails)
+static void test_simpleroundtrip(const char *plaintext)
 {
     DATA_BLOB input;
     DATA_BLOB encrypted;
@@ -234,17 +234,9 @@
     }
 
     res = pCryptUnprotectData(&encrypted, NULL, NULL, NULL, NULL, 0, &output);
-    if (wine_fails) {
-      todo_wine
-        ok(res != 0, "can't unprotect; last error %u\n", GetLastError());
-    } else {
-      ok(res != 0, "can't unprotect; last error %u\n", GetLastError());
-    }
-
-    if (res) {
-      ok(output.cbData == strlen(plaintext), "output wrong length %d for input '%s', wanted %d\n", output.cbData, plaintext, strlen(plaintext));
-      ok(!memcmp(plaintext, (char *)output.pbData, output.cbData), "output wrong contents for input '%s'\n", plaintext);
-    }
+    ok(res != 0, "can't unprotect; last error %u\n", GetLastError());
+    ok(output.cbData == strlen(plaintext), "output wrong length %d for input '%s', wanted %d\n", output.cbData, plaintext, strlen(plaintext));
+    ok(!memcmp(plaintext, (char *)output.pbData, output.cbData), "output wrong contents for input '%s'\n", plaintext);
 }
 
 START_TEST(protectdata)
@@ -262,8 +254,8 @@
     protected=FALSE;
     test_cryptprotectdata();
     test_cryptunprotectdata();
-    test_simpleroundtrip("", 1);
-    test_simpleroundtrip("hello", 0);
+    test_simpleroundtrip("");
+    test_simpleroundtrip("hello");
 
     /* deinit globals here */
     if (cipher.pbData) LocalFree(cipher.pbData);
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 4f13c17..8234688 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -2324,7 +2324,7 @@
         if (Final) {
             if (pbData[*pdwDataLen-1] &&
              pbData[*pdwDataLen-1] <= pCryptKey->dwBlockLen &&
-             pbData[*pdwDataLen-1] < *pdwDataLen) {
+             pbData[*pdwDataLen-1] <= *pdwDataLen) {
                 BOOL padOkay = TRUE;
 
                 /* check that every bad byte has the same value */