]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
early return as requested
authorLucy Phipps <landfillbaby69@gmail.com>
Wed, 8 Jun 2022 17:48:19 +0000 (18:48 +0100)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Thu, 30 Jun 2022 10:23:43 +0000 (12:23 +0200)
arch/arm/crc32_acle.c

index 0133e88fb0f2446f6ac32f0ee80141c57c9ec082..ce75c343e5150c30a9b54f9cae76a6e14d2dbc59 100644 (file)
@@ -37,6 +37,11 @@ uint32_t crc32_acle(uint32_t crc, const uint8_t *buf, uint64_t len) {
         len -= sizeof(uint32_t);
     }
 
+    if (len == 0) {
+        c = ~c;
+        return c;
+    }
+
     const uint64_t *buf8 = (const uint64_t *) buf4;
 
     while (len >= sizeof(uint64_t)) {
@@ -61,6 +66,11 @@ uint32_t crc32_acle(uint32_t crc, const uint8_t *buf, uint64_t len) {
     buf = (const unsigned char *) buf2;
 #else /* __aarch64__ */
 
+    if (len == 0) {
+        c = ~c;
+        return c;
+    }
+
     while (len >= sizeof(uint32_t)) {
         c = __crc32w(c, *buf4++);
         len -= sizeof(uint32_t);