CudaSift
                                
                                
                                
                                    CudaSift copied to clipboard
                            
                            
                            
                        Bug: out of bounds memory access
In FindMaxCorr10() in matching.cu, if numPts2 < M7H, then this loop will not run:
for (int bp2=0;bp2<numPts2 - M7H + 1;bp2+=M7H) {
which means that indices will retain their initial value of -1, and then at the end of the function this access occurs:
sift1[bp1 + tx].match_xpos = sift2[index].xpos;
with index==-1.