mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-04 16:38:49 +01:00
memory leak in ibt fixed
This commit is contained in:
parent
d74b07d8f5
commit
48578939c5
3 changed files with 26 additions and 0 deletions
19
src/ibt.c
19
src/ibt.c
|
|
@ -877,6 +877,25 @@ static void ibtedit_save(struct descriptor_data *d)
|
|||
|
||||
save_ibt_file(OLC_VAL(d));
|
||||
}
|
||||
|
||||
void free_olc_ibt(IBT_DATA *toFree) {
|
||||
if (!toFree)
|
||||
return;
|
||||
|
||||
if (toFree->text) {
|
||||
STRFREE(toFree->text);
|
||||
}
|
||||
if (toFree->body) {
|
||||
STRFREE(toFree->body);
|
||||
}
|
||||
if (toFree->name) {
|
||||
STRFREE(toFree->name);
|
||||
}
|
||||
if (toFree->notes) {
|
||||
STRFREE(toFree->notes);
|
||||
}
|
||||
free(toFree);
|
||||
}
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* main ibtedit menu function... */
|
||||
static void ibtedit_disp_main_menu(struct descriptor_data *d)
|
||||
|
|
|
|||
|
|
@ -98,3 +98,4 @@ void load_ibt_file(int mode);
|
|||
void ibtedit_parse(struct descriptor_data *d, char *arg);
|
||||
void ibtedit_string_cleanup(struct descriptor_data *d, int terminator);
|
||||
void free_ibt_lists();
|
||||
void free_olc_ibt(IBT_DATA *toFree);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#include "act.h"
|
||||
#include "handler.h" /* for is_name */
|
||||
#include "quest.h"
|
||||
#include "ibt.h"
|
||||
|
||||
|
||||
/* Internal Data Structures */
|
||||
|
|
@ -174,6 +175,11 @@ void cleanup_olc(struct descriptor_data *d, byte cleanup_type)
|
|||
}
|
||||
}
|
||||
|
||||
if (OLC_IBT(d)) {
|
||||
free_olc_ibt(OLC_IBT(d));
|
||||
OLC_IBT(d) = NULL;
|
||||
}
|
||||
|
||||
/* Free storage if allocated (tedit, aedit, and trigedit). This is the command
|
||||
* list - it's been copied to disk already, so just free it -Welcor. */
|
||||
if (OLC_STORAGE(d)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue