diff options
author | Shawn Willden <swillden@google.com> | 2016-01-05 17:06:56 -0700 |
---|---|---|
committer | Shawn Willden <swillden@google.com> | 2016-01-26 14:15:51 -0700 |
commit | 239c1664173c941038a1d1d13626e58ce3cef819 (patch) | |
tree | cc74f95644378c37f0c1e1056d3dff66e0406d01 /openssl_err.cpp | |
parent | 78c5d8796c560deb2a0194f581f13a833437f012 (diff) | |
download | keymaster-239c1664173c941038a1d1d13626e58ce3cef819.tar.gz |
Add utilities to format/parse ASN.1 attestation records.
Bug: 22914603
Change-Id: I9279df29ec06e07fbd60427e22b8f7a74648c8ed
Diffstat (limited to 'openssl_err.cpp')
-rw-r--r-- | openssl_err.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/openssl_err.cpp b/openssl_err.cpp index df2920b..cd4ba20 100644 --- a/openssl_err.cpp +++ b/openssl_err.cpp @@ -48,6 +48,20 @@ keymaster_error_t TranslateLastOpenSslError(bool log_message) { } int reason = ERR_GET_REASON(error); + + /* Handle global error reasons */ + switch (reason) { + case ERR_R_MALLOC_FAILURE: + return KM_ERROR_MEMORY_ALLOCATION_FAILED; + case ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: + case ERR_R_PASSED_NULL_PARAMETER: + case ERR_R_INTERNAL_ERROR: + case ERR_R_OVERFLOW: + return KM_ERROR_UNKNOWN_ERROR; + default: + break; + } + switch (ERR_GET_LIB(error)) { case ERR_LIB_USER: return static_cast<keymaster_error_t>(reason); |