我使用Fortify扫描我的代码后,出现“不安全的JNI(输入验证和表示,语义)”问题。我提到了Fortify的建议,并在网站上搜索了一些解决方案,但我无法解决这个问题。在Android Studio中强化扫描问题
我遵循Fortify在website推荐的兼容解决方案。 我甚至使用Fortify从网站扫描推荐的代码,并得到相同的问题。
我的代码如下所示:
public final class JNI_Related {
// JNI
public native FileDescriptor open(String path, int baudrate, int data_bits, char parity, int stop_bits);
public native void close();
public FileDescriptor DoOpen(String mPath, int mBaudrate, int mData_bits, char mParity, int mStop_bits){
if(mmPath.length() == 0){
throw new NullPointerException();
}
if((mmBaudrate < 0) || (mmData_bits < 0) || (mmStop_bits < 0) || (mmParity == 'a')){
throw new IllegalArgumentException();
}
mFd = open(mmPath, mmBaudrate, mmData_bits, mmParity, mmStop_bits);
if(mFd == null){
throw new IllegalArgumentException();
}
return mFd;
}
public void DoClose(){
close();
}
static {
System.loadLibrary("jniutill");
}
}
我真的需要一些帮助!
您是否曾经为此找到答案? –