]> git.ipfire.org Git - thirdparty/suricata.git/commit
util/base64: fix padding bytes for trailing data
authorShivani Bhardwaj <shivani@oisf.net>
Thu, 30 Mar 2023 07:24:29 +0000 (12:54 +0530)
committerVictor Julien <vjulien@oisf.net>
Mon, 10 Jul 2023 07:27:01 +0000 (09:27 +0200)
commit095c335c72befec2cfcd43390f86d116926bcd17
tree2aa81784d9fc758756a2f8035437c4bcedf979e5
parente46b0337e50897424d05371aa26d5f20e172f749
util/base64: fix padding bytes for trailing data

Padding bytes for the last remainder data should be as follows:

Case   |    Remainder bytes     |    Padding
----------------------------------------------
  I    |              1         |      3
  II   |              2         |      2
  III  |              3         |      1

However, we calculate the decoded_bytes with the formula:
decoded_bytes = ASCII_BLOCK - padding

this means for Case I when padding is 3 bytes, the decoded_bytes would
be 0. This is incorrect for any trailing data. In any of the above
cases, if the parsing was successful, there should at least be 1 decoded
byte.
src/util-base64.c