From: Changgyu Choi Date: Tue, 16 Nov 2021 09:12:21 +0000 (+0900) Subject: Change gchar string free function X-Git-Tag: submit/tizen/20211118.002252~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F36%2F266636%2F6;p=platform%2Fcore%2Fbase%2Fbundle.git Change gchar string free function The gchar string that is result of glib's string alloc functions has to release using g_free(). Change-Id: I61d3c156df3cdda080776f38f0888d34f2ed23ee Signed-off-by: Changgyu Choi --- diff --git a/src/bundle-internal.cc b/src/bundle-internal.cc index 55c2181..d30240e 100644 --- a/src/bundle-internal.cc +++ b/src/bundle-internal.cc @@ -187,14 +187,13 @@ unsigned char* Bundle::EncodeRaw(int* size) { bytes.insert(bytes.end(), encoded_bytes.begin(), encoded_bytes.end()); } - char* checksum = static_cast( - g_compute_checksum_for_string(G_CHECKSUM_MD5, - reinterpret_cast(&bytes[0]), - static_cast(bytes.size()))); + gchar* checksum = g_compute_checksum_for_string( + G_CHECKSUM_MD5, reinterpret_cast(&bytes[0]), + static_cast(bytes.size())); if (checksum == nullptr) THROW(BUNDLE_ERROR_OUT_OF_MEMORY); - std::unique_ptr ptr(checksum, std::free); + std::unique_ptr ptr(checksum, g_free); unsigned char* p = reinterpret_cast(checksum); bytes.insert(bytes.begin(), p, p + CHECKSUM_LENGTH); @@ -218,15 +217,15 @@ int Bundle::DecodeRaw(unsigned char* raw, int size) { strncpy(extract_checksum, reinterpret_cast(d_str), CHECKSUM_LENGTH); extract_checksum[CHECKSUM_LENGTH] = '\0'; - char* compute_checksum = g_compute_checksum_for_string(G_CHECKSUM_MD5, - reinterpret_cast(d_str + CHECKSUM_LENGTH), + gchar* compute_checksum = g_compute_checksum_for_string(G_CHECKSUM_MD5, + reinterpret_cast(d_str + CHECKSUM_LENGTH), d_len_raw - CHECKSUM_LENGTH); if (compute_checksum == nullptr) return BUNDLE_ERROR_OUT_OF_MEMORY; - std::unique_ptr compute_ptr(compute_checksum, - std::free); - if (strcmp(extract_checksum, compute_checksum) != 0) + std::unique_ptr compute_ptr(compute_checksum, + g_free); + if (strcmp(extract_checksum, static_cast(compute_checksum)) != 0) return BUNDLE_ERROR_INVALID_PARAMETER; unsigned char* d_r = d_str + CHECKSUM_LENGTH; @@ -281,8 +280,8 @@ std::vector Bundle::Export() { if (base64_bytes == nullptr) THROW(BUNDLE_ERROR_OUT_OF_MEMORY); - std::unique_ptr base64_bytes_ptr(base64_bytes, - std::free); + std::unique_ptr base64_bytes_ptr(base64_bytes, + g_free); argv.push_back(base64_bytes); }