Parcourir la source

Avoid a possible crash in tls_log_errors.

We were checking for msg==NULL, but not lib or proc.  This case can
only occur if we have an error whose string we somehow haven't loaded,
but it's worth coding defensively here.

Spotted by rieo on IRC.
Nick Mathewson il y a 14 ans
Parent
commit
4ad5094c90
1 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 2 0
      src/common/tortls.c

+ 2 - 0
src/common/tortls.c

@@ -180,6 +180,8 @@ tls_log_errors(tor_tls_t *tls, int severity, const char *doing)
     lib = (const char*)ERR_lib_error_string(err);
     func = (const char*)ERR_func_error_string(err);
     if (!msg) msg = "(null)";
+    if (!lib) lib = "(null)";
+    if (!func) func = "(null)";
     if (doing) {
       log(severity, LD_NET, "TLS error while %s%s%s: %s (in %s:%s)",
           doing, addr?" with ":"", addr?addr:"",