Explorar el Código

time_zone_content_manager: Fix out of bounds read

There were cases where raw_data didn't contain enough
space to hold the zero terminator.

This was caught with -fsanitize=address.
ReinUsesLisp hace 6 años
padre
commit
ac7ee21331
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      src/core/hle/service/time/time_zone_content_manager.cpp

+ 1 - 1
src/core/hle/service/time/time_zone_content_manager.cpp

@@ -53,7 +53,7 @@ static std::vector<std::string> BuildLocationNameCache(Core::System& system) {
         return {};
     }
 
-    std::vector<char> raw_data(binary_list->GetSize());
+    std::vector<char> raw_data(binary_list->GetSize() + 1);
     binary_list->ReadBytes<char>(raw_data.data(), binary_list->GetSize());
 
     std::stringstream data_stream{raw_data.data()};