From d93f4d96bb0fb307db9e2dade38ddb3c6bc469ca Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 8 Nov 2016 20:22:29 -0700 Subject: [PATCH] Use std::string in rust_get_disr_info This changes rust_get_disr_info to use std::string in one more spot, avoiding a memory leak. 2016-11-12 Tom Tromey * rust-lang.c (rust_get_disr_info): Use std::string in one more spot. --- gdb/ChangeLog | 5 +++++ gdb/rust-lang.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 99edafca61..1f32c02abd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-11-12 Tom Tromey + + * rust-lang.c (rust_get_disr_info): Use std::string in one more + spot. + 2016-11-11 Yao Qi * spu-tdep.c (spu_software_single_step): Don't call diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 295dae11ac..7d4bfc3342 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -222,7 +222,7 @@ rust_get_disr_info (struct type *type, const gdb_byte *valaddr, with the first field being the actual type works. */ const char *field_name = TYPE_NAME (TYPE_FIELD_TYPE (type, 0)); const char *last = rust_last_path_segment (field_name); - ret.name = concat (TYPE_NAME (type), "::", last, (char *) NULL); + ret.name = std::string (TYPE_NAME (type)) + "::" + last; ret.field_no = RUST_ENCODED_ENUM_REAL; ret.is_encoded = 1; return ret;