Skip to content

Commit

Permalink
Get rid of warn_binary
Browse files Browse the repository at this point in the history
Current implementation of warn_binary introduces a regression
when the content is passed in /dev/stdin as an explicit file name
and reads the file to be processed twice otherwise.

I suggest to reimplement this functionality after 3.0 if necessary.

Fixes openssl#16359

Reviewed-by: David von Oheimb <[email protected]>
(Merged from openssl#16367)
  • Loading branch information
beldmit committed Aug 20, 2021
1 parent 43044ed commit f4d8b29
Showing 1 changed file with 0 additions and 29 deletions.
29 changes: 0 additions & 29 deletions apps/cms.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,31 +272,6 @@ static CMS_ContentInfo *load_content_info(int informat, BIO *in, int flags,
return NULL;
}

static void warn_binary(const char *file)
{
BIO *bio;
unsigned char linebuf[1024], *cur, *end;
int len;

if (file == NULL)
return; /* cannot give a warning for stdin input */
if ((bio = bio_open_default(file, 'r', FORMAT_BINARY)) == NULL)
return; /* cannot give a proper warning since there is an error */
while ((len = BIO_read(bio, linebuf, sizeof(linebuf))) > 0) {
end = linebuf + len;
for (cur = linebuf; cur < end; cur++) {
if (*cur == '\0' || *cur >= 0x80) {
BIO_printf(bio_err, "Warning: input file '%s' contains %s"
" character; better use -binary option\n",
file, *cur == '\0' ? "NUL" : "8-bit");
goto end;
}
}
}
end:
BIO_free(bio);
}

int cms_main(int argc, char **argv)
{
CONF *conf = NULL;
Expand Down Expand Up @@ -911,8 +886,6 @@ int cms_main(int argc, char **argv)
goto end;
}

if ((flags & CMS_BINARY) == 0)
warn_binary(infile);
in = bio_open_default(infile, 'r',
binary_files ? FORMAT_BINARY : informat);
if (in == NULL)
Expand All @@ -924,8 +897,6 @@ int cms_main(int argc, char **argv)
goto end;
if (contfile != NULL) {
BIO_free(indata);
if ((flags & CMS_BINARY) == 0)
warn_binary(contfile);
if ((indata = BIO_new_file(contfile, "rb")) == NULL) {
BIO_printf(bio_err, "Can't read content file %s\n", contfile);
goto end;
Expand Down

0 comments on commit f4d8b29

Please sign in to comment.