c
// ... Inside DecodeBase64 ...
if (*decoded_bytes + ASCII_BLOCK > dest_size) {
    SCLogDebug("Destination buffer too small for block");
    ecode = BASE64_ECODE_BUF;
    break; 
}
DecodeBase64Block(dptr, b64);
*decoded_bytes += ASCII_BLOCK; // Update only if successful
dptr += ASCII_BLOCK;           // Advance destination pointer
// ...
