gpt4 book ai didi

c - 打印函数返回值时出现段错误

转载 作者:行者123 更新时间:2023-11-30 19:48:33 24 4
gpt4 key购买 nike

每当我尝试这样做时:

char buffed[1024];
snprintf(buffed, sizeof(buffed), "bash.sh %s &", get_value("request-uri"));
system(buffed);

这是我使用的功能:

char *get_value(char *name) {
FORMAT_NODE *node;

#ifdef DEBUG
ASSERT(name);
#endif

if (strlen(name) == 0)
return EMPTY_FIELD;

if ((node = get_field(name))) {
return node->value;
} else {
return EMPTY_FIELD;
}
}

编译没问题,但每当它打印值时,它就会出现段错误并崩溃,有人可以解释我做错了什么吗?

提前致谢!

编辑:

get_value("request-uri") 是我正在谈论的,它应该是一个字符串

strstr(get_value("request-uri"), "index.php") 完美运行!

但是“index.php”应该来自get_value

编辑2:数据库:程序收到信号 SIGSEGV,段错误。/lib64/libc.so.6 中的 __strlen_sse2 () 中的 0x00007ffff73f3321

最佳答案

这里的问题被CBIII解决了,告诉我使用gdb,该值是空的,因为它在使用之前刷新了。

get_value("request-uri") 返回 0x0

关于c - 打印函数返回值时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com