Explorar el Código

submission_package: Correct location of null check within SetTicketKeys()

If a ticket file was ever a null pointer, we'd cause a null pointer
dereference, as we were calling GetExtension() on the pointer instance.
Lioncash hace 7 años
padre
commit
dade709f63
Se han modificado 1 ficheros con 6 adiciones y 3 borrados
  1. 6 3
      src/core/file_sys/submission_package.cpp

+ 6 - 3
src/core/file_sys/submission_package.cpp

@@ -23,13 +23,16 @@ void SetTicketKeys(const std::vector<VirtualFile>& files) {
     Core::Crypto::KeyManager keys;
 
     for (const auto& ticket_file : files) {
+        if (ticket_file == nullptr) {
+            continue;
+        }
+
         if (ticket_file->GetExtension() != "tik") {
             continue;
         }
 
-        if (ticket_file == nullptr ||
-            ticket_file->GetSize() <
-                Core::Crypto::TICKET_FILE_TITLEKEY_OFFSET + sizeof(Core::Crypto::Key128)) {
+        if (ticket_file->GetSize() <
+            Core::Crypto::TICKET_FILE_TITLEKEY_OFFSET + sizeof(Core::Crypto::Key128)) {
             continue;
         }