Skip to content

发现潜在的bug #11

@RayShark0605

Description

@RayShark0605

Tracking.cc [729行和738行附近]
for (int i = 0; i < mInitialFrame.mvKeys.size(); i++) { int j = mvIniLastLineMatches[i]; if (j >= 0) { mvIniLastLineMatches[i] = mvIniLineMatches[j]; } }
这个循环中的变量i取决于mInitialFrame.mvKeys的大小,会导致mvIniLastLineMatches下标越界!!

LSDmatcher.cpp [944行附近]
const float radius = th*pKF->mvScaleFactorsLine[nPredictedLevel];
该语句中的中的nPredictedLevel可能会导致mvScaleFactorsLine下标越界!!在测试中发现,某个时候mvScaleFactorsLine是大小为1的vector,但是nPredictedLevel却为1(越界)

以上的bug会在Debug模式编译下运行报错!尽管在Release模式编译之后运行时并不会报错,但是可能会导致程序出现预料之外的结果!
请问,我该如何修改?

1
2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions