summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2023-01-20 03:45:17 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-01-20 03:45:17 +0000
commitffdc436b68b4f7cebcd41687a1bd0bb42ddefec4 (patch)
tree0f48feccac97d8f993299973e7a8b33aa7b817d8
parentcf5522daa58261e7f7edd04a3e474b94dd327435 (diff)
parent4eba55790224dd43e88d6a4bbf4fea826a59498f (diff)
downloadrustc-demangle-capi-ffdc436b68b4f7cebcd41687a1bd0bb42ddefec4.tar.gz
Fix memory leak. am: 4eba557902
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/rustc-demangle-capi/+/2383915 Change-Id: I9bbe5abb27ec1e06e9ce36aee45499b81f7bd181 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--src/lib.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 7610145..d220ec1 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -163,10 +163,9 @@ unsafe fn rustc_demangle_native(
}
}
- let mut out_buf = SystemBuffer::from_raw(out, out_size)?;
-
match rustc_demangle::try_demangle(mangled_str) {
Ok(demangle) => {
+ let mut out_buf = SystemBuffer::from_raw(out, out_size)?;
while write!(out_buf.as_mut_slice(), "{:#}\0", demangle).is_err() {
out_buf.resize()?;
}