如何在Apk中使用ubsan(clang)?

时间:2019-03-06 08:46:05

标签: android ubsan

运行第三方apk时遇到ubsan问题,不确定导致崩溃的原因。我发现这是因为我的Android.mk添加了以下规则:

LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow

我检查了google ubsan Integer Overflow Sanitization的指南,得到的答案是添加如下规则:

LOCAL_SANITIZE_DIAG := unsigned-integer-overflow signed-integer-overflow

我在测试c ++代码时工作正常,只是测试它是否将打印日志,并且工作正常:

testsize/errorFunc.cpp:15:7: runtime error: unsigned integer overflow: 0 - 2 cannot be represented in type 'unsigned int'

但是让我感到困惑的是,当我的应用程序调用jni函数并最终调用C ++二进制文件的相同函数时。没有日志生成,apks需要特殊的东西才能使用UBsan吗?

0 个答案:

没有答案