Skip to content
Permalink
Browse files Browse the repository at this point in the history
Fix struct initialization in formatter
  • Loading branch information
athre0z committed Oct 28, 2021
1 parent 554efeb commit 55dd08c
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 16 deletions.
39 changes: 24 additions & 15 deletions src/Formatter.c
Expand Up @@ -62,13 +62,18 @@ void ZydisFormatterBufferInit(ZydisFormatterBuffer* buffer, char* user_buffer,
ZYAN_ASSERT(user_buffer);
ZYAN_ASSERT(length);

buffer->is_token_list = ZYAN_FALSE;
buffer->string.flags = ZYAN_STRING_HAS_FIXED_CAPACITY;
buffer->string.vector.allocator = ZYAN_NULL;
buffer->string.vector.element_size = sizeof(char);
buffer->string.vector.size = 1;
buffer->string.vector.capacity = length;
buffer->string.vector.data = user_buffer;
buffer->is_token_list = ZYAN_FALSE;
buffer->capacity = 0;
buffer->string.flags = ZYAN_STRING_HAS_FIXED_CAPACITY;
buffer->string.vector.allocator = ZYAN_NULL;
buffer->string.vector.growth_factor = 1;
buffer->string.vector.shrink_threshold = 0;
buffer->string.vector.destructor = ZYAN_NULL;
buffer->string.vector.element_size = sizeof(char);
buffer->string.vector.size = 1;
buffer->string.vector.capacity = length;
buffer->string.vector.data = user_buffer;

*user_buffer = '\0';
}

Expand All @@ -87,14 +92,18 @@ void ZydisFormatterBufferInitTokenized(ZydisFormatterBuffer* buffer,
user_buffer = (ZyanU8*)user_buffer + sizeof(ZydisFormatterToken);
length -= sizeof(ZydisFormatterToken);

buffer->is_token_list = ZYAN_TRUE;
buffer->capacity = length;
buffer->string.flags = ZYAN_STRING_HAS_FIXED_CAPACITY;
buffer->string.vector.allocator = ZYAN_NULL;
buffer->string.vector.element_size = sizeof(char);
buffer->string.vector.size = 1;
buffer->string.vector.capacity = length;
buffer->string.vector.data = user_buffer;
buffer->is_token_list = ZYAN_TRUE;
buffer->capacity = length;
buffer->string.flags = ZYAN_STRING_HAS_FIXED_CAPACITY;
buffer->string.vector.allocator = ZYAN_NULL;
buffer->string.vector.growth_factor = 1;
buffer->string.vector.shrink_threshold = 0;
buffer->string.vector.destructor = ZYAN_NULL;
buffer->string.vector.element_size = sizeof(char);
buffer->string.vector.size = 1;
buffer->string.vector.capacity = length;
buffer->string.vector.data = user_buffer;

*(char*)user_buffer = '\0';
}

Expand Down

0 comments on commit 55dd08c

Please sign in to comment.