C/C++格式化输出(printf、fprintf、sprintf、syslog等)的不安全用法
遇到问题前段时间gameserver突然挂掉,查看coredump发现挂掉的位置是调用syslog,代码如下:syslog(LOG_INFO, pszLog);pszLog是日志的内容,当时的那局游戏中恰好有一个玩家叫做fcc%nn,而%n在C/C++格式化输出中代表的是将输出字符串到%n为止的所有字符byte数存放到一处内存中。例如:int a;printf("abc%ndef\n"...
原创
2019-08-09 17:40:25 ·
2031 阅读 ·
1 评论