浏览代码

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;
     }