Skip to content

Commit

Permalink
src: account for OpenSSL unexpected version
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Jul 25, 2024
1 parent df478f4 commit ede4118
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/node_metadata.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,19 @@ Metadata metadata;

#if HAVE_OPENSSL
static constexpr size_t search(const char* s, char c, size_t n = 0) {
return *s == c ? n : search(s + 1, c, n + 1);
return *s == '\0' ? n : (*s == c ? n : search(s + 1, c, n + 1));
}

static inline std::string GetOpenSSLVersion() {
// sample openssl version string format
// for reference: "OpenSSL 1.1.0i 14 Aug 2018"
const char* version = OpenSSL_version(OPENSSL_VERSION);
const size_t start = search(version, ' ') + 1;
const size_t first_space = search(version, ' ');
if (version[first_space] == '\0') {
return std::string("0.0.0");
}

const size_t start = first_space + 1;
const size_t len = search(&version[start], ' ');
return std::string(version, start, len);
}
Expand Down

0 comments on commit ede4118

Please sign in to comment.