소스 검색

Fix bounds check bug.

Adam Ierymenko 5 년 전
부모
커밋
ecb09aa2e1
2개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      core/FCV.hpp
  2. 1 1
      core/Tests.cpp

+ 1 - 1
core/FCV.hpp

@@ -151,7 +151,7 @@ public:
 	{
 	{
 		if (likely(_s < C))
 		if (likely(_s < C))
 			new(reinterpret_cast<T *>(_m) + _s++) T(v);
 			new(reinterpret_cast<T *>(_m) + _s++) T(v);
-		throw Utils::OutOfRangeException;
+		else throw Utils::OutOfRangeException;
 	}
 	}
 
 
 	/**
 	/**

+ 1 - 1
core/Tests.cpp

@@ -430,7 +430,7 @@ extern "C" const char *ZTT_general()
 			}
 			}
 			test.clear();
 			test.clear();
 			test2.clear();
 			test2.clear();
-			if (cnt != (long)test.size()) {
+			if ((cnt != (long)test.size()) && (cnt != 0)) {
 				ZT_T_PRINTF("FAILED (expected 0 objects, got %lu (5))" ZT_EOL_S,cnt);
 				ZT_T_PRINTF("FAILED (expected 0 objects, got %lu (5))" ZT_EOL_S,cnt);
 				return "FCV object life cycle test failed (5)";
 				return "FCV object life cycle test failed (5)";
 			}
 			}