diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-09-04 11:00:43 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-09-04 11:00:43 +0200 |
| commit | ee7b10f064326a657c13821d5f07cca41a45d4ae (patch) | |
| tree | 2a23b841dfb31ede19da428ec36bd99a8e56832c /src/librarian | |
| parent | c1ad6b5829af34e5ff93d5f89b08a007b1a88f2e (diff) | |
| download | box64-ee7b10f064326a657c13821d5f07cca41a45d4ae.tar.gz box64-ee7b10f064326a657c13821d5f07cca41a45d4ae.zip | |
[BOX32] Small improvments on memory management
Diffstat (limited to 'src/librarian')
| -rw-r--r-- | src/librarian/librarian.c | 4 | ||||
| -rw-r--r-- | src/librarian/library.c | 36 |
2 files changed, 20 insertions, 20 deletions
diff --git a/src/librarian/librarian.c b/src/librarian/librarian.c index ddeb063b..aee6acf0 100644 --- a/src/librarian/librarian.c +++ b/src/librarian/librarian.c @@ -511,7 +511,7 @@ int GetGlobalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u if(GetGlobalSymbolStartEnd_internal(maplib, name, start, end, self, &version, &vername, &veropt, elfsym)) { if(start && end && *end==*start) { // object is of 0 sized, try to see an "_END" object of null size uintptr_t start2, end2; - char* buff = (char*)malloc(strlen(name) + strlen("_END") + 1); + char* buff = (char*)box_malloc(strlen(name) + strlen("_END") + 1); strcpy(buff, name); strcat(buff, "_END"); if(GetGlobalSymbolStartEnd_internal(maplib, buff, &start2, &end2, self, &version, &vername, &veropt, elfsym)) { @@ -584,7 +584,7 @@ int GetGlobalWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* star if(GetGlobalWeakSymbolStartEnd_internal(maplib, name, start, end, self, &version, &vername, &veropt, elfsym)) { if(start && end && *end==*start) { // object is of 0 sized, try to see an "_END" object of null size uintptr_t start2, end2; - char* buff = (char*)malloc(strlen(name) + strlen("_END") + 1); + char* buff = (char*)box_malloc(strlen(name) + strlen("_END") + 1); strcpy(buff, name); strcat(buff, "_END"); if(GetGlobalWeakSymbolStartEnd_internal(maplib, buff, &start2, &end2, self, &version, &vername, &veropt, elfsym)) { diff --git a/src/librarian/library.c b/src/librarian/library.c index e4ab45e5..e21e648c 100644 --- a/src/librarian/library.c +++ b/src/librarian/library.c @@ -452,7 +452,7 @@ library_t *NewLibrary(const char* path, box64context_t* context, elfheader_t* ve printf_dump(LOG_DEBUG, "Trying to load \"%s\"\n", path); //library_t *lib = (library_t*)box_calloc(1, sizeof(library_t)); if(cur_lib==lib_cap) { - lib_brick_t *new_brick = calloc(1, sizeof(lib_brick_t)); + lib_brick_t *new_brick = box_calloc(1, sizeof(lib_brick_t)); if(!lib_head) cur_brick = lib_head = new_brick; else { @@ -1211,23 +1211,23 @@ void AddMainElfToLinkmap(elfheader_t* elf) needed_libs_t* new_neededlib(int n) { - needed_libs_t* ret = (needed_libs_t*)calloc(1, sizeof(needed_libs_t)); + needed_libs_t* ret = (needed_libs_t*)box_calloc(1, sizeof(needed_libs_t)); ret->cap = ret->size = n; ret->init_size = n; - ret->libs = (library_t**)calloc(n, sizeof(library_t*)); - ret->names = (char**)calloc(n, sizeof(char*)); + ret->libs = (library_t**)box_calloc(n, sizeof(library_t*)); + ret->names = (char**)box_calloc(n, sizeof(char*)); return ret; } void free_neededlib(needed_libs_t* needed) { if(!needed) return; - free(needed->libs); - free(needed->names); + box_free(needed->libs); + box_free(needed->names); needed->libs = NULL; needed->names = NULL; needed->cap = needed->size = 0; - free(needed); + box_free(needed); } void add1_neededlib(needed_libs_t* needed) { @@ -1236,8 +1236,8 @@ void add1_neededlib(needed_libs_t* needed) if(needed->size+1<=needed->cap) return; needed->cap = needed->size+1; - needed->libs = (library_t**)realloc(needed->libs, needed->cap*sizeof(library_t*)); - needed->names = (char**)realloc(needed->names, needed->cap*sizeof(char*)); + needed->libs = (library_t**)box_realloc(needed->libs, needed->cap*sizeof(library_t*)); + needed->names = (char**)box_realloc(needed->names, needed->cap*sizeof(char*)); needed->size++; needed->init_size++; } @@ -1252,8 +1252,8 @@ void add1lib_neededlib(needed_libs_t* needed, library_t* lib, const char* name) // add it if(needed->size==needed->cap) { needed->cap = needed->size+1; - needed->libs = (library_t**)realloc(needed->libs, needed->cap*sizeof(library_t*)); - needed->names = (char**)realloc(needed->names, needed->cap*sizeof(char*)); + needed->libs = (library_t**)box_realloc(needed->libs, needed->cap*sizeof(library_t*)); + needed->names = (char**)box_realloc(needed->names, needed->cap*sizeof(char*)); } needed->libs[needed->size] = lib; needed->names[needed->size] = (char*)name; @@ -1271,8 +1271,8 @@ void add1lib_neededlib_name(needed_libs_t* needed, library_t* lib, const char* n // add it if(needed->size==needed->cap) { needed->cap = needed->size+1; - needed->libs = (library_t**)realloc(needed->libs, needed->cap*sizeof(library_t*)); - needed->names = (char**)realloc(needed->names, needed->cap*sizeof(char*)); + needed->libs = (library_t**)box_realloc(needed->libs, needed->cap*sizeof(library_t*)); + needed->names = (char**)box_realloc(needed->names, needed->cap*sizeof(char*)); } needed->libs[needed->size] = lib; needed->names[needed->size] = (char*)name; @@ -1290,8 +1290,8 @@ void add1libref_neededlib(needed_libs_t* needed, library_t* lib) // add it if(needed->size==needed->cap) { needed->cap = needed->size+4; - needed->libs = (library_t**)realloc(needed->libs, needed->cap*sizeof(library_t*)); - needed->names = (char**)realloc(needed->names, needed->cap*sizeof(char*)); + needed->libs = (library_t**)box_realloc(needed->libs, needed->cap*sizeof(library_t*)); + needed->names = (char**)box_realloc(needed->names, needed->cap*sizeof(char*)); } needed->libs[needed->size] = lib; needed->names[needed->size] = (char*)lib->name; @@ -1302,12 +1302,12 @@ needed_libs_t* copy_neededlib(needed_libs_t* needed) { if(!needed) return NULL; - needed_libs_t* ret = (needed_libs_t*)calloc(1, sizeof(needed_libs_t)); + needed_libs_t* ret = (needed_libs_t*)box_calloc(1, sizeof(needed_libs_t)); ret->cap = needed->cap; ret->size = needed->size; ret->init_size = needed->init_size; - ret->libs = (library_t**)calloc(ret->cap, sizeof(library_t*)); - ret->names = (char**)calloc(ret->cap, sizeof(char*)); + ret->libs = (library_t**)box_calloc(ret->cap, sizeof(library_t*)); + ret->names = (char**)box_calloc(ret->cap, sizeof(char*)); memcpy(ret->libs, needed->libs, ret->size*sizeof(library_t*)); memcpy(ret->names, needed->names, ret->size*sizeof(char*)); return ret; |