fsantinize 弱智

236 天前
 zzzkkk

fsantinize 还没智能到那种程度 简直给码农添加负担 给一个静态字符数组前面添加几个空格都会报错

请看

图 1

图 2

图 3

编译时报图 3 的错误 运行就报 ==1856626==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fff15ef59e9 at pc 0x55d429175340 bp 0x7fff15ef5940 sp 0x7fff15ef5938

5117 次点击
所在节点    C++
85 条回复
eagleoflqj
236 天前
你是真不懂还是在钓鱼?
zzzkkk
236 天前
@eagleoflqj
不懂 没做过 c c++项目 只会写小代码
zzzkkk
236 天前
编译报错是合理的

运行时报错不合理啊
XiLingHost
236 天前
你数数这数组多长了
zzzkkk
236 天前
@XiLingHost
这么几个字节对现代计算机来说算啥
有必要 sanitize 不能运行?
nightwitch
236 天前
笑拉了
XiLingHost
236 天前
@zzzkkk 我的意思是,你看看你的初始化字符串的长度和为这个 char[]分配的长度,你的代码里为它分配了 25 个 char ,去掉末尾的\0 ,你的字符串长度应该是 24 个 ascii 字符
des
236 天前
@eagleoflqj 估计是来炸鱼的
XiLingHost
236 天前
你实在搞不明白,你就直接 char s[INT_MAX]吧
maplezzz
236 天前
哈哈哈,给我逗笑了
Hconk
236 天前
@zzzkkk 认真的?😅
ershierdu
236 天前
1. 为什么编译时 warning 是合理的,而运行时报错就不合理呢?
2. 从内存的层面上看,OP 期望运行时它是怎么样的呢?
yolee599
236 天前
搁这钓鱼呢?笑死我了,报错那么明显
zzzkkk
236 天前
char 的长度下标的确写错了

但下面这样也不行 总共 30 个字符 + 一个末尾'\0'

![](
jonty
236 天前
。。。。。。
zzzkkk
236 天前
我既然能写出这种 while 循环 数组下标还是知道的 只是被 fsantinize 冲昏了
zzzkkk
236 天前
而且 leetcode 的函数设计有问题 一个函数传只一个指针 还开 fsantinize
weidaizi
236 天前
看完标题:OP 搁着炸鱼?
看完下面回复:难道这 OP 真的不懂?
看了一下 OP 的其他帖子:哦,原来是真小白啊
GeruzoniAnsasu
236 天前
我此时很想看到那个秒杀 nginx 的哥们来点拨一下 OP
LykorisR
236 天前
难绷,建议去问 gpt ,这种事浪费大家时间不值得

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/974343

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX