From 49fc1dd796e59aa1866a4d806c010e3704e251ef Mon Sep 17 00:00:00 2001 From: Vincent Rabaud Date: Thu, 13 Nov 2025 11:14:39 +0100 Subject: [PATCH] Fix out of bounds in calibrateAndNormalizePointsPnP ipoints can have 3 or 4 points. --- modules/calib3d/src/p3p.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/calib3d/src/p3p.cpp b/modules/calib3d/src/p3p.cpp index 20449a178f..40ffa2ffcd 100644 --- a/modules/calib3d/src/p3p.cpp +++ b/modules/calib3d/src/p3p.cpp @@ -173,7 +173,7 @@ void p3p::calibrateAndNormalizePointsPnP(const Mat &opoints_, const Mat &ipoints Mat ipoints; convertPoints(ipoints_, ipoints, 2); - for (int i = 0; i < ipoints.rows; i++) { + for (int i = 0; i < 3; i++) { const double k_inv_u = ipoints.at(i, 0); const double k_inv_v = ipoints.at(i, 1); double x_norm = 1.0 / sqrt(k_inv_u*k_inv_u + k_inv_v*k_inv_v + 1);