Explorar el Código

Harden security within jni code basis

Patrick-Christopher Mattulat hace 6 horas
padre
commit
cfdbbc0b8e
Se han modificado 1 ficheros con 11 adiciones y 6 borrados
  1. 11 6
      source/ls-std/time/common/jni/JniDateParameterMapper.cpp

+ 11 - 6
source/ls-std/time/common/jni/JniDateParameterMapper.cpp

@@ -3,7 +3,7 @@
 * Company:         Lynar Studios
 * E-Mail:          webmaster@lynarstudios.com
 * Created:         2023-04-09
-* Changed:         2023-04-10
+* Changed:         2025-12-22
 *
 * */
 
@@ -14,6 +14,11 @@
 using ls::std::core::experimental::JniClass;
 using ls::std::time::DateParameter;
 using ls::std::time::experimental::JniDateParameterMapper;
+using ls::std::time::type::Day;
+using ls::std::time::type::Hour;
+using ls::std::time::type::Minute;
+using ls::std::time::type::Month;
+using ls::std::time::type::Second;
 
 JniDateParameterMapper::JniDateParameterMapper() = default;
 
@@ -25,11 +30,11 @@ DateParameter JniDateParameterMapper::toDateParameter(const JniClass &_javaClass
   DateParameter dateParameter{};
 
   dateParameter.setYear(javaClass.callMethod("getYear").getIntegerValue());
-  dateParameter.setMonth(javaClass.callMethod("getMonth").getByteValue());
-  dateParameter.setDay(javaClass.callMethod("getDay").getByteValue());
-  dateParameter.setHour(javaClass.callMethod("getHour").getByteValue());
-  dateParameter.setMinute(javaClass.callMethod("getMinute").getByteValue());
-  dateParameter.setSecond(javaClass.callMethod("getSecond").getByteValue());
+  dateParameter.setMonth(static_cast<Month>(javaClass.callMethod("getMonth").getByteValue()));
+  dateParameter.setDay(static_cast<Day>(javaClass.callMethod("getDay").getByteValue()));
+  dateParameter.setHour(static_cast<Hour>(javaClass.callMethod("getHour").getByteValue()));
+  dateParameter.setMinute(static_cast<Minute>(javaClass.callMethod("getMinute").getByteValue()));
+  dateParameter.setSecond(static_cast<Second>(javaClass.callMethod("getSecond").getByteValue()));
 
   return dateParameter;
 }