浏览代码

Fix buffer overflow in generate_enc_password with increase rsalt by 2 (#1463)

before this change i see a bufferflow during `readable_string`.
Stefan Junker 1 年之前
父节点
当前提交
158fe9b698
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/client/ns_turn_msg.c

+ 2 - 1
src/client/ns_turn_msg.c

@@ -292,8 +292,9 @@ static void readable_string(unsigned char *orig, unsigned char *out, size_t sz)
   out[0] = 0;
 
   for (i = 0; i < sz; ++i) {
-    snprintf((char *)(out + (i * 2)), 4, "%02x", (unsigned int)orig[i]);
+    snprintf((char *)(out + (i * 2)), 3, "%02x", (unsigned int)orig[i]);
   }
+  out[sz * 2] = 0;
 }
 
 static void generate_enc_password(const char *pwd, char *result, const unsigned char *orig_salt) {