Skip to content

Commit

Permalink
Fix no padding string termination
Browse files Browse the repository at this point in the history
Signed-off-by: Tomasz Pietrek <melgaer@gmail.com>
  • Loading branch information
Jarema committed Nov 9, 2023
1 parent 104bcef commit 2d59fac
Showing 1 changed file with 27 additions and 22 deletions.
49 changes: 27 additions & 22 deletions Sources/Base32/Base32.swift
Original file line number Diff line number Diff line change
Expand Up @@ -211,28 +211,33 @@ private func base32encode(_ data: UnsafeRawPointer, _ length: Int, _ table: [Int
// padding
if padding {
let pad = Int8(UnicodeScalar("=").value)
switch length {
case 0:
encoded[0] = 0
case 1:
encoded[2] = pad
encoded[3] = pad
fallthrough
case 2:
encoded[4] = pad
fallthrough
case 3:
encoded[5] = pad
encoded[6] = pad
fallthrough
case 4:
encoded[7] = pad
fallthrough
default:
encoded[8] = 0
break
}

switch length {
case 0:
encoded[0] = 0
case 1:
encoded[2] = pad
encoded[3] = pad
fallthrough
case 2:
encoded[4] = pad
fallthrough
case 3:
encoded[5] = pad
encoded[6] = pad
fallthrough
case 4:
encoded[7] = pad
fallthrough
default:
encoded[8] = 0
break
}
} else {
if length == 0 {
encoded[0] = 0
} else {
encoded[8] = 0
}
}

// return
Expand Down

0 comments on commit 2d59fac

Please sign in to comment.