fsantinize 弱智

2023-09-16 10:35:49 +08:00
 zzzkkk

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

请看

图 1

图 2

图 3

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

5388 次点击
所在节点    C++
85 条回复
eagleoflqj
2023-09-16 10:41:08 +08:00
你是真不懂还是在钓鱼?
zzzkkk
2023-09-16 10:42:33 +08:00
@eagleoflqj
不懂 没做过 c c++项目 只会写小代码
zzzkkk
2023-09-16 10:43:04 +08:00
编译报错是合理的

运行时报错不合理啊
XiLingHost
2023-09-16 10:43:44 +08:00
你数数这数组多长了
zzzkkk
2023-09-16 10:45:02 +08:00
@XiLingHost
这么几个字节对现代计算机来说算啥
有必要 sanitize 不能运行?
nightwitch
2023-09-16 10:46:35 +08:00
笑拉了
XiLingHost
2023-09-16 10:46:56 +08:00
@zzzkkk 我的意思是,你看看你的初始化字符串的长度和为这个 char[]分配的长度,你的代码里为它分配了 25 个 char ,去掉末尾的\0 ,你的字符串长度应该是 24 个 ascii 字符
des
2023-09-16 10:47:01 +08:00
@eagleoflqj 估计是来炸鱼的
XiLingHost
2023-09-16 10:48:21 +08:00
你实在搞不明白,你就直接 char s[INT_MAX]吧
maplezzz
2023-09-16 10:54:31 +08:00
哈哈哈,给我逗笑了
Hconk
2023-09-16 10:57:55 +08:00
@zzzkkk 认真的?😅
ershierdu
2023-09-16 11:15:34 +08:00
1. 为什么编译时 warning 是合理的,而运行时报错就不合理呢?
2. 从内存的层面上看,OP 期望运行时它是怎么样的呢?
yolee599
2023-09-16 11:30:41 +08:00
搁这钓鱼呢?笑死我了,报错那么明显
zzzkkk
2023-09-16 11:51:27 +08:00
char 的长度下标的确写错了

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

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

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

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

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

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

© 2021 V2EX