diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2025-07-29 22:33:52 +0530 |
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-07-29 22:33:52 +0530 |
| commit | 22b62228d0b8fe081ec6df95cf331b3d290127ab (patch) | |
| tree | e7f14f22742945241118dbd9ad2fbdc0c5ccb8d8 /src/engine.c | |
| parent | 5b6b95cd4f875d7a619aa69bde8d1d2f93bbc254 (diff) | |
engine,lexer: fix memory leaks
Diffstat (limited to 'src/engine.c')
| -rw-r--r-- | src/engine.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/engine.c b/src/engine.c index 8bc62e7..f4b2f63 100644 --- a/src/engine.c +++ b/src/engine.c @@ -92,12 +92,12 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive) char *path; - asprintf(&path, "%s/%s", msg->base_directory, operands->key); + asprintf(&path, "%s/%s", msg->base_directory, trim(operands->key)); list_t *files = enumfilesindir(path); free(path); if (files == NULL) { - printf("Could not find key %s\n", operands->key); + printf("Could not find key %s\n", trim(operands->key)); free(operands); return; } @@ -110,7 +110,7 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive) asprintf(&path, "%s/%s/%s", msg->base_directory, - operands->key, + trim(operands->key), (char *) file_wrp->ptr); FILE *f = fopen(path, "r"); @@ -189,8 +189,9 @@ handle_eachdo(char **buffer, key_match_t *match, directive_t *directive) list_delete(atoms); free(content); free(temp_buffer); - free(operands); + free(operands->key); free(original_content); + free(operands); } list_t * @@ -243,6 +244,9 @@ engine_ingest(char **buffer) break; case PUT: + free(directive->operands); + skip++; + break; case ENDEACHDO: case BODY: case CONTENT: |
