diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-06-18 09:15:01 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-06-18 09:15:01 +0530 |
commit | 542e8c5eec37658f5bb968b0ec6cd281f2fb0c12 (patch) | |
tree | 6966e161a85652a5c024bbac988d5cd7fa41e368 | |
parent | e0943aced8105e229a08322ce5b44472c042deee (diff) |
(ingest): fix asprintf into buffer referencing itself
-rw-r--r-- | msg.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -133,12 +133,18 @@ ingest(char **buffer) unsigned int size = fsize(f); char *partial_content = fcontent(f, size); + char *temp_buffer = malloc(strlen(*buffer) + 1 * sizeof(char)); + strcpy(temp_buffer, *buffer); + + free(*buffer); asprintf(buffer, "%.*s%s%s\n", match->offset, - *buffer, + temp_buffer, partial_content, - *buffer + match->offset + match->length); + temp_buffer + match->offset + match->length); + + free(temp_buffer); } free(directive); |