File 0002-Fix-buffer-overflow-in-formatTime-utility-method.patch of Package openMVS

From 9e18ef6a49af45d156bfa41e14b2e6ac6c954310 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Wed, 27 Nov 2024 19:09:23 +0100
Subject: [PATCH 2/2] Fix buffer overflow in formatTime utility method

---
 libs/Common/Util.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libs/Common/Util.h b/libs/Common/Util.h
index fd313f9..5877cea 100644
--- a/libs/Common/Util.h
+++ b/libs/Common/Util.h
@@ -605,27 +605,27 @@ public:
 		rez = (uint32_t)((sTime%((int64_t)24*3600*1000)) / (3600*1000));
 		if (rez) {
 			++nrNumbers;
-			len += _sntprintf(buf+len, 128, "%uh", rez);
+			len += _sntprintf(buf+len, 128-len, "%uh", rez);
 		}
 		if (nAproximate > 2 && nrNumbers > 0)
 			return buf;
 		rez = (uint32_t)((sTime%((int64_t)3600*1000)) / (60*1000));
 		if (rez) {
 			++nrNumbers;
-			len += _sntprintf(buf+len, 128, "%um", rez);
+			len += _sntprintf(buf+len, 128-len, "%um", rez);
 		}
 		if (nAproximate > 1 && nrNumbers > 0)
 			return buf;
 		rez = (uint32_t)((sTime%((int64_t)60*1000)) / (1*1000));
 		if (rez) {
 			++nrNumbers;
-			len += _sntprintf(buf+len, 128, "%us", rez);
+			len += _sntprintf(buf+len, 128-len, "%us", rez);
 		}
 		if (nAproximate > 0 && nrNumbers > 0)
 			return buf;
 		rez = (uint32_t)(sTime%((int64_t)1*1000));
 		if (rez || !nrNumbers)
-			len += _sntprintf(buf+len, 128, "%ums", rez);
+			len += _sntprintf(buf+len, 128-len, "%ums", rez);
 
 		return String(buf, len);
 	}
-- 
2.47.0

openSUSE Build Service is sponsored by