There is a theoretical possibility that OpenSSL returns an NID that
OBJ_nid2sn cannot resolve and thus the function return NULL.
This is however extremely unlikely. But we still cover this case now
to make linters/code checker happy and avoid similar false positives
in the future.
Reported-by: Joshua Rogers <contact@joshua.hu>
Found-by: ZeroPath (https://zeropath.com/)
Change-Id: I70e221ff5d9752fec17bad18fd41dcf188ae8fbc
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1325
Message-Id: <
20251030193003.348-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg34060.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
return "(error getting name)";
default:
- return OBJ_nid2sn(nid);
+ {
+ const char *type = OBJ_nid2sn(nid);
+ if (!type)
+ {
+ /* This is unlikely to ever happen as OpenSSL is unlikely to
+ * return an NID it cannot resolve itself but we silence
+ * linter/code checkers here */
+ type = "(error getting name, OBJ_nid2sn failed)";
+ }
+ return type;
+ }
}
}
#endif /* ifndef LIBRESSL_VERSION_NUMBER */