diff --git "a/C,C++\345\256\211\345\205\250\346\214\207\345\215\227.md" "b/C,C++\345\256\211\345\205\250\346\214\207\345\215\227.md"
index 57d135b..b91a003 100644
--- "a/C,C++\345\256\211\345\205\250\346\214\207\345\215\227.md"
+++ "b/C,C++\345\256\211\345\205\250\346\214\207\345\215\227.md"
@@ -33,7 +33,8 @@
+ [3.1 变量应确保线程安全性](#1.3.1)
+ [3.2 注意signal handler导致的条件竞争](#1.3.2)
+ [3.3 注意Time-of-check Time-of-use条件竞争](#1.3.3)
- * [IV. 加密解密](#1.4)
+ + [3.4 注意不可重入函数](#1.3.4)
+ [IV. 加密解密](#1.4)
+ [4.1 不得明文存储用户密码等敏感数据](#1.4.1)
+ [4.2 内存中的用户密码等敏感数据应该安全抹除](#1.4.2)
+ [4.3 rand() 类函数应正确初始化](#1.4.3)
@@ -1074,6 +1075,27 @@ TOCTOU难以修复,但是有以下缓解方案:
`中风险-逻辑问题`
+
+#### 3.4 【建议】注意不可重入函数
+
+不可重入函数:是指这样的一类函数,不可以在它还没有返回就再次被调用。例如printf,malloc,free等都是不可重入函数。函数不可重入大多数是因为在函数中引用了全局变量。例如,printf会引用全局变量stdout,malloc,free会引用全局的内存分配表。
+
+不可重入函数,在多线程下可能无法达成预期结果,参考列表如下:
+
+1. rand、srand
+2. asctime、ctime、localtime、gmtime
+3. getenv、getenv_s
+4. strtok
+5. strerror
+6. setlocale
+7. atomic_init
+8. gethostbyaddr、gethostbyname
+9. inet_ntoa
+
+关联漏洞:
+
+`中风险-逻辑问题`
+
### 4 加密解密