소스 검색

SDL_test_harness: fix memory leak when generated seed

Sylvain 2 년 전
부모
커밋
69253c542a
1개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 2
      src/test/SDL_test_harness.c

+ 6 - 2
src/test/SDL_test_harness.c

@@ -389,6 +389,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
     int testSkippedCount = 0;
     int countSum = 0;
     const SDLTest_TestCaseReference **failedTests;
+    char generatedSeed[16 + 1];
 
     /* Sanitize test iterations */
     if (testIterations < 1) {
@@ -397,11 +398,14 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
 
     /* Generate run see if we don't have one already */
     if (userRunSeed == NULL || userRunSeed[0] == '\0') {
-        runSeed = SDLTest_GenerateRunSeed(16);
-        if (runSeed == NULL) {
+        char *tmp = SDLTest_GenerateRunSeed(16);
+        if (tmp == NULL) {
             SDLTest_LogError("Generating a random seed failed");
             return 2;
         }
+        SDL_memcpy(generatedSeed, tmp, 16 + 1);
+        SDL_free(tmp);
+        runSeed = generatedSeed;
     } else {
         runSeed = userRunSeed;
     }