Commit 6d6c4798 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Correctly handle errors in CMS I/O code.

parent 474b3b1c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -592,6 +592,8 @@ int SMIME_text(BIO *in, BIO *out)
	sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
	while ((len = BIO_read(in, iobuf, sizeof(iobuf))) > 0)
						BIO_write(out, iobuf, len);
	if (len < 0)
		return 0;
	return 1;
}

+4 −2
Original line number Diff line number Diff line
@@ -89,11 +89,13 @@ static int cms_copy_content(BIO *out, BIO *in, unsigned int flags)
				if (!BIO_get_cipher_status(in))
					goto err;
				}
			if (i < 0)
				goto err;
			break;
			}
				
		if (tmpout)
			BIO_write(tmpout, buf, i);
		if (tmpout && (BIO_write(tmpout, buf, i) != i))
			goto err;
	}

	if(flags & CMS_TEXT)