Subject: base32/base64: different behavior of -d with invalid input

From: Daniel Hofstetter <[email-masked]>
Date: Wed, 6 Aug 2025 18:04:30 +0200

Hi,

I noticed some inconsistency in how base32 and base64 handle invalid
input when decoding.

base32 simply shows an error on stderr whereas base64 shows an error
on stderr plus some output on stdout.

$ echo 'invalid' | base32 -d 2> /dev/null
$ echo 'invalid' | base32 -d > /dev/null
base32: invalid input
$ echo 'invalid' | base64 -d 2> /dev/null
�{ږ'$
$ echo 'invalid' | base64 -d > /dev/null
base64: invalid input

I'm using coreutils 9.7.

Regards,
Daniel