关于sprintf_s,弹出Expression:(“Buffer too small”,0)

这个问题大家应该都清楚,是调用了vsprintf.c的里面的sprintf_s函数,目标内存太小导致程序崩溃了。

如果项目使用的地方不多,那每个地方仔细检测一下,应该能解决掉。

但是,我在项目中遇到的调用这个函数的地方上千行,没法一个一个去检测,所有我把这个函数全部由:  _snprintf 这个函数来替换,它的好处就是当目标内存太小时,这个函数返回-1,不会是程序崩溃掉。

    关于sprintf_s,弹出Expression:(“Buffer too small”,0)

 

上一篇:【c语言】string里关于sscanf和sprintf的使用


下一篇:【SEED Labs 2.0】Return-to-libc Attack and ROP