fix memory leak in declaration and function
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "function.h"
|
||||
#include "../../memory.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -15,11 +16,17 @@ ParsedValue *create_parsed_function(char *name, DArray parameters,
|
||||
return parsedValue;
|
||||
}
|
||||
|
||||
void free_parameter(void *ptr) {
|
||||
char** data = ptr;
|
||||
free(*data);
|
||||
}
|
||||
|
||||
void free_function(void *ptr) {
|
||||
ParsedValue *parsedValue = ptr;
|
||||
ParsedFunction *parsed = parsedValue->data;
|
||||
free_parsed(parsed->body);
|
||||
free(parsed->body);
|
||||
free(parsed->name);
|
||||
darray_free(&parsed->parameters, NULL);
|
||||
darray_free(&parsed->parameters, free_parameter);
|
||||
free(parsed);
|
||||
}
|
||||
Reference in New Issue
Block a user