浏览代码

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 14 年之前
父节点
当前提交
4ad5094c90
共有 1 个文件被更改,包括 2 次插入0 次删除
  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:"",