Skip to content

Commit

Permalink
PEM parsing: check last error instead of first
Browse files Browse the repository at this point in the history
Regression introduced in #2120. Ideally, tests would not leave
other errors behind.

Fixes #2146
  • Loading branch information
botovq committed Jan 11, 2024
1 parent 772b0b1 commit aa26e97
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions openssl/src/x509/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -756,12 +756,13 @@ impl X509 {
ffi::PEM_read_bio_X509(bio.as_ptr(), ptr::null_mut(), None, ptr::null_mut());
if r.is_null() {
let e = ErrorStack::get();
let errors = e.errors();
if !errors.is_empty()
&& errors[0].library_code() == ffi::ERR_LIB_PEM as libc::c_int
&& errors[0].reason_code() == ffi::PEM_R_NO_START_LINE as libc::c_int
{
break;

if let Some(err) = e.errors().last() {
if err.library_code() == ffi::ERR_LIB_PEM as libc::c_int
&& err.reason_code() == ffi::PEM_R_NO_START_LINE as libc::c_int
{
break;
}
}

return Err(e);
Expand Down

0 comments on commit aa26e97

Please sign in to comment.