From: Michael Tremer Date: Thu, 27 Mar 2025 11:15:31 +0000 (+0000) Subject: archive write: Fetch length of serialized JSON string from libjson-c X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4a262bfe4d9317b6ee4ed4304fcac386b35d5eee;p=pakfire.git archive write: Fetch length of serialized JSON string from libjson-c Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/archive_writer.c b/src/pakfire/archive_writer.c index 660e1b75..cb7c3c60 100644 --- a/src/pakfire/archive_writer.c +++ b/src/pakfire/archive_writer.c @@ -672,16 +672,21 @@ ERROR: int pakfire_archive_writer_create_file_from_json( struct pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json) { const char* buffer = NULL; + size_t length = 0; + + // We must have some JSON data + if (!json) + return -EINVAL; // Serialize JSON to string - buffer = json_object_to_json_string_ext(json, 0); + buffer = json_object_to_json_string_length(json, 0, &length); if (!buffer) { ERROR(self->ctx, "Failed to serialize JSON object: %m\n"); return -errno; } // Write it to the archive - return pakfire_archive_writer_create_file(self, path, mode, buffer, strlen(buffer)); + return pakfire_archive_writer_create_file(self, path, mode, buffer, length); } int pakfire_archive_writer_create_file_from_file(