diff s3/s3_uploader.c @ 255:5ec271d612ae

[dowa] Enforce arena ownership Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Tue, 04 Aug 2026 15:12:18 -0700
parents 240337164a80
children
line wrap: on
line diff
--- a/s3/s3_uploader.c	Tue Aug 04 15:12:09 2026 -0700
+++ b/s3/s3_uploader.c	Tue Aug 04 15:12:18 2026 -0700
@@ -73,12 +73,12 @@
                                             const char *content_type)
 {
   S3_Result result = {0};
-  result.p_arena = Dowa_Arena_Create(S3_RESULT_ARENA_SIZE);
 
   size_t file_size = 0;
   uint8 *file_data = s3__load_file(local_path, &file_size);
   if (!file_data)
   {
+    result.p_arena = Dowa_Arena_Create(S3_RESULT_ARENA_SIZE);
     result.success = FALSE;
     result.status_code = 0;
     result.error_message = Dowa_String_Copy_Arena("Failed to read file", result.p_arena);
@@ -86,7 +86,7 @@
   }
 
   result = S3_Upload_Data(p_config, file_data, file_size, s3_key, content_type);
-  free(file_data);
+  Dowa_Free(file_data);
 
   return result;
 }
@@ -706,7 +706,7 @@
   s3__hmac_sha256(k_service, 32,
                   (const uint8 *)S3_AWS4_REQUEST, strlen(S3_AWS4_REQUEST), out);
 
-  free(k_secret);
+  Dowa_Free(k_secret);
 }
 
 static char *s3__build_authorization_header(const char *access_key,
@@ -777,7 +777,7 @@
 
   if (read != (size_t)size)
   {
-    free(data);
+    Dowa_Free(data);
     *p_size = 0;
     return NULL;
   }