]> Cypherpunks repositories - keks.git/commitdiff
Properly set len hint
authorSergey Matveev <stargrave@stargrave.org>
Mon, 16 Jun 2025 09:12:53 +0000 (12:12 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 16 Jun 2025 09:12:53 +0000 (12:12 +0300)
c/lib/enc.c

index b2f62db5ae37aa22daa3b577dedb76dae277f916ede7a7dc3987569c0135ea74..14e13869d2be0df2c7628432ece332ebab91db48207243e688330741c8872b7d 100644 (file)
@@ -257,23 +257,25 @@ KEKSAtomTAI64Encode(
     const unsigned char *src,
     const size_t srcLen)
 {
-    (*len) = 1 + srcLen;
-    if (cap < (*len)) {
-        return false;
-    }
+    unsigned char tag = 0;
     switch (srcLen) {
     case 8:
-        buf[0] = KEKSAtomTAI64;
+        tag = KEKSAtomTAI64;
         break;
     case 12:
-        buf[0] = KEKSAtomTAI64N;
+        tag = KEKSAtomTAI64N;
         break;
     case 16:
-        buf[0] = KEKSAtomTAI64NA;
+        tag = KEKSAtomTAI64NA;
         break;
     default:
-        return 0;
+        return false;
+    }
+    (*len) = 1 + srcLen;
+    if (cap < (*len)) {
+        return false;
     }
+    buf[0] = tag;
     memcpy(buf + 1, src, srcLen);
     return true;
 }