mirror of
https://github.com/facebook/zstd.git
synced 2025-07-29 11:21:22 +03:00
updated fuzz tests to use FileNamesTable* abstraction
This commit is contained in:
@ -173,21 +173,10 @@ void data_buffer_free(data_buffer_t buffer) {
|
||||
* data filenames helpers.
|
||||
*/
|
||||
|
||||
data_filenames_t data_filenames_get(data_t const* data) {
|
||||
data_filenames_t filenames = {.buffer = NULL, .size = 0};
|
||||
char const* path = data->data.path;
|
||||
|
||||
filenames.filenames = UTIL_createFileList(
|
||||
&path,
|
||||
1,
|
||||
&filenames.buffer,
|
||||
&filenames.size,
|
||||
/* followLinks */ 0);
|
||||
return filenames;
|
||||
}
|
||||
|
||||
void data_filenames_free(data_filenames_t filenames) {
|
||||
UTIL_freeFileList(filenames.filenames, filenames.buffer);
|
||||
FileNamesTable* data_filenames_get(data_t const* data)
|
||||
{
|
||||
char const* const path = data->data.path;
|
||||
return UTIL_createExpandedFNT(&path, 1, 0 /* followLinks */ );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -196,26 +185,33 @@ void data_filenames_free(data_filenames_t filenames) {
|
||||
|
||||
data_buffers_t data_buffers_get(data_t const* data) {
|
||||
data_buffers_t buffers = {.size = 0};
|
||||
data_filenames_t filenames = data_filenames_get(data);
|
||||
if (filenames.size == 0)
|
||||
FileNamesTable* const filenames = data_filenames_get(data);
|
||||
if (filenames == NULL) return buffers;
|
||||
if (filenames->tableSize == 0) {
|
||||
UTIL_freeFileNamesTable(filenames);
|
||||
return buffers;
|
||||
}
|
||||
|
||||
data_buffer_t* buffersPtr =
|
||||
(data_buffer_t*)malloc(filenames.size * sizeof(data_buffer_t));
|
||||
if (buffersPtr == NULL)
|
||||
(data_buffer_t*)malloc(filenames->tableSize * sizeof(*buffersPtr));
|
||||
if (buffersPtr == NULL) {
|
||||
UTIL_freeFileNamesTable(filenames);
|
||||
return buffers;
|
||||
}
|
||||
buffers.buffers = (data_buffer_t const*)buffersPtr;
|
||||
buffers.size = filenames.size;
|
||||
buffers.size = filenames->tableSize;
|
||||
|
||||
for (size_t i = 0; i < filenames.size; ++i) {
|
||||
buffersPtr[i] = data_buffer_read(filenames.filenames[i]);
|
||||
for (size_t i = 0; i < filenames->tableSize; ++i) {
|
||||
buffersPtr[i] = data_buffer_read(filenames->fileNames[i]);
|
||||
if (buffersPtr[i].data == NULL) {
|
||||
data_buffers_t const kEmptyBuffer = {};
|
||||
data_buffers_free(buffers);
|
||||
UTIL_freeFileNamesTable(filenames);
|
||||
return kEmptyBuffer;
|
||||
}
|
||||
}
|
||||
|
||||
UTIL_freeFileNamesTable(filenames);
|
||||
return buffers;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user