]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fixing memory leak issue and removing c90 issue
authorAhmed Abdellah <ahmedabdellah@fb.com>
Thu, 24 Oct 2019 08:39:16 +0000 (09:39 +0100)
committerAhmed Abdellah <ahmedabdellah@fb.com>
Thu, 24 Oct 2019 08:39:16 +0000 (09:39 +0100)
programs/util.c
programs/zstdcli.c

index e28e4a96b4f869a2b5027a6072ae6c5c241e268f..7da11e2f6ba8cc83bb0d5fc5cc73c14ebc2fcb86 100644 (file)
@@ -308,6 +308,7 @@ void UTIL_freeFileNamesTable(FileNamesTable* table) {
 }
 
 static size_t getTotalTableSize(FileNamesTable* table) {
+  UTIL_DISPLAY("[TRACE] getTotalTableSize \n");
   size_t i = 0, totalSize = 0;
   for(i = 0 ; i < table->tableSize && table->fileNames[i] ; ++i) {
     totalSize += strlen(table->fileNames[i]) + 1; /* +1 to add '\0' at the end of each fileName */
@@ -324,6 +325,8 @@ UTIL_concatenateTwoTables(FileNamesTable* table1, FileNamesTable* table2) {
 
     FileNamesTable* newTable = (FileNamesTable*) malloc(sizeof(FileNamesTable));
 
+    UTIL_DISPLAY("[TRACE] newTable created\n");
+
     if(!newTable) {
       UTIL_DISPLAYLEVEL(1, "[ERROR][UTIL_concatenateTwoTables] Can't create new table for concatenation output.\n");
       return NULL;
index 9a05cf72c79486a2b8ca146665650443b9f50b0c..43d496c932a27b5957aa6fe1d3bfa29b601264cb 100644 (file)
@@ -589,7 +589,7 @@ int main(int argCount, const char* argv[])
     const char** filenameTable = (const char**)malloc(filenameTableSize * sizeof(const char*));   /* argCount >= 1 */
     FileNamesTable* extendedTable = NULL;
     FileNamesTable* concatenatedTables = NULL;
-    FileNamesTable* curTable = (FileNamesTable*) malloc(sizeof(FileNamesTable));
+    FileNamesTable* curTable = NULL;
     char* tableBuf = NULL;
     unsigned filenameIdx = 0;
     const char* programName = argv[0];
@@ -625,9 +625,6 @@ int main(int argCount, const char* argv[])
     (void)memLimit;   /* not used when ZSTD_NODECOMPRESS set */
     if (filenameTable==NULL) { DISPLAY("zstd: %s \n", strerror(errno)); exit(1); }
     filenameTable[0] = stdinmark;
-    curTable->fileNames = filenameTable;
-    curTable->tableSize = filenameTableSize;
-    curTable->buf = tableBuf;
     g_displayOut = stderr;
     cLevel = init_cLevel();
     programName = lastNameFromPath(programName);
@@ -823,15 +820,16 @@ int main(int argCount, const char* argv[])
                         DISPLAYLEVEL(4, "[TRACE] call read function is finished\n");
                         DISPLAYLEVEL(4, "[TRACE] extendedFileNamesTable:\n");
 
-                        unsigned i;
-                        for(i = 0; i < extendedTable->tableSize; ++i)
-                            printf("%s\n",extendedTable->fileNames[i]);
 
                         DISPLAYLEVEL(4, "[TRACE] call concatenation function\n");
                         DISPLAYLEVEL(4, "[TRACE] filenameidx: %d\n", filenameIdx);
 
-                        for(i = filenameIdx; i < filenameTableSize ; ++i)
-                            filenameTable[i] = NULL;
+                        // unsigned i = 0;
+                        // for(i = filenameIdx; i < filenameTableSize ; ++i)
+                          filenameTable[filenameIdx] = NULL; // marking end of table
+
+
+                        curTable = (FileNamesTable*) malloc(sizeof(FileNamesTable));
 
                         if(!curTable) {
                           UTIL_freeFileNamesTable(extendedTable);