Revert "Merge pull request 'Fix memory/null safety bugs (#74, #72, #69, #64, #60, #50, #49, #65)' (#80) from fix/memory-safety into main"
CI / lint (pull_request) Successful in 7s
CI / sanitizers (address) (pull_request) Successful in 14s
CI / sanitizers (undefined) (pull_request) Successful in 13s
CI / fuzz-build (pull_request) Successful in 12s
CI / coverage (pull_request) Successful in 9s
CI / build-and-test (pull_request) Successful in 53s
CI / valgrind (pull_request) Successful in 12s
CI / lint (pull_request) Successful in 7s
CI / sanitizers (address) (pull_request) Successful in 14s
CI / sanitizers (undefined) (pull_request) Successful in 13s
CI / fuzz-build (pull_request) Successful in 12s
CI / coverage (pull_request) Successful in 9s
CI / build-and-test (pull_request) Successful in 53s
CI / valgrind (pull_request) Successful in 12s
This reverts commitddfdb3825a, reversing changes made to504a3a4d4f.
This commit is contained in:
+2
-57
@@ -24,58 +24,9 @@ DirectoryScanner* directory_scanner_create(char* root_directory, bool use_metada
|
||||
scanner->current_path = NULL;
|
||||
scanner->use_metadata = use_metadata;
|
||||
scanner->chunk_size = chunk_size > 0 ? chunk_size : DESIRED_CHUNK_SIZE;
|
||||
/* Deep-copy exclude patterns */
|
||||
if (exclude_count > 0 && exclude_patterns != NULL) {
|
||||
scanner->exclude_patterns = malloc((size_t)exclude_count * sizeof(char*));
|
||||
if (scanner->exclude_patterns == NULL) {
|
||||
queue_destroy(scanner->directories);
|
||||
free(scanner);
|
||||
return NULL;
|
||||
}
|
||||
for (int i = 0; i < exclude_count; i++) {
|
||||
scanner->exclude_patterns[i] = str_dup(exclude_patterns[i]);
|
||||
if (scanner->exclude_patterns[i] == NULL) {
|
||||
for (int j = 0; j < i; j++)
|
||||
free(scanner->exclude_patterns[j]);
|
||||
free(scanner->exclude_patterns);
|
||||
queue_destroy(scanner->directories);
|
||||
free(scanner);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
scanner->exclude_patterns = NULL;
|
||||
}
|
||||
scanner->exclude_patterns = exclude_patterns;
|
||||
scanner->exclude_count = exclude_count;
|
||||
|
||||
/* Deep-copy include patterns */
|
||||
if (include_count > 0 && include_patterns != NULL) {
|
||||
scanner->include_patterns = malloc((size_t)include_count * sizeof(char*));
|
||||
if (scanner->include_patterns == NULL) {
|
||||
for (int i = 0; i < exclude_count; i++)
|
||||
free(scanner->exclude_patterns[i]);
|
||||
free(scanner->exclude_patterns);
|
||||
queue_destroy(scanner->directories);
|
||||
free(scanner);
|
||||
return NULL;
|
||||
}
|
||||
for (int i = 0; i < include_count; i++) {
|
||||
scanner->include_patterns[i] = str_dup(include_patterns[i]);
|
||||
if (scanner->include_patterns[i] == NULL) {
|
||||
for (int j = 0; j < i; j++)
|
||||
free(scanner->include_patterns[j]);
|
||||
free(scanner->include_patterns);
|
||||
for (int j = 0; j < exclude_count; j++)
|
||||
free(scanner->exclude_patterns[j]);
|
||||
free(scanner->exclude_patterns);
|
||||
queue_destroy(scanner->directories);
|
||||
free(scanner);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
scanner->include_patterns = NULL;
|
||||
}
|
||||
scanner->include_patterns = include_patterns;
|
||||
scanner->include_count = include_count;
|
||||
scanner->max_size = max_size;
|
||||
scanner->min_size = min_size;
|
||||
@@ -91,12 +42,6 @@ void directory_scanner_destroy(DirectoryScanner* scanner) {
|
||||
scanner->current_dir = NULL;
|
||||
}
|
||||
free(scanner->current_path);
|
||||
for (int i = 0; i < scanner->exclude_count; i++)
|
||||
free(scanner->exclude_patterns[i]);
|
||||
free(scanner->exclude_patterns);
|
||||
for (int i = 0; i < scanner->include_count; i++)
|
||||
free(scanner->include_patterns[i]);
|
||||
free(scanner->include_patterns);
|
||||
queue_destroy(scanner->directories);
|
||||
free(scanner);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user