gpt4 book ai didi

c - 在 XPATH (libxml2) 中省略前缀会导致段错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:56 24 4
gpt4 key购买 nike

我安装了 C libxml2 version 2.9.4 library在我的 Mac ( Darwin <hostname> 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64 ) 上使用标准 ./configure ; make ; make install命令的三重奏。在尝试运行 testXPath命令与 -tree没有前缀的 XPATH 选项,我得到一个段错误。

~/home/libxml2-2.7.2 $ ./testXPath -tree "/abcde"
In testXPath function...
Compiled Expression : 0 elements
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
END
...etc until:
Segmentation fault: 11

我深入研究了 testXPath.c代码,而且 XPATH 的编译似乎有问题。

comp = xmlXPathCompile(BAD_CAST str);

xmlXPathCompExprPtr返回有它的 last成员设置为 -1如果我不提供前缀。这会导致调用 xmlXPathDebugDumpCompExpr()出故障。

在 xpath 中有一个前缀不会导致错误。我做错了什么吗?

最佳答案

testXPath 是 libxml2 测试套件的一部分,预计不会由用户直接运行。如果您想使用 libxml2 测试 XPath 表达式,请使用带有 --xpath 选项的 xmllint:

xmllint --xpath 'expr' XMLFILE

关于c - 在 XPATH (libxml2) 中省略前缀会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45983895/

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