aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/archive.c
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-11-05 20:31:48 +0000
committerRichard Stallman <rms@gnu.org>1993-11-05 20:31:48 +0000
commitc35a847ec5e47fa5cf03359a2c0da27fe5f1eb0f (patch)
tree4df59e6618dd47f8478377beb2fd049d66c14fa9 /gcc/objc/archive.c
parenta5b1eb34fbc0ffedb7c036c03acea8794d97ad7d (diff)
downloadgcc-c35a847ec5e47fa5cf03359a2c0da27fe5f1eb0f.zip
gcc-c35a847ec5e47fa5cf03359a2c0da27fe5f1eb0f.tar.gz
gcc-c35a847ec5e47fa5cf03359a2c0da27fe5f1eb0f.tar.bz2
(objc_read_string): Allocate string properly.
From-SVN: r6013
Diffstat (limited to 'gcc/objc/archive.c')
-rw-r--r--gcc/objc/archive.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/objc/archive.c b/gcc/objc/archive.c
index 87bd585..1e776c7 100644
--- a/gcc/objc/archive.c
+++ b/gcc/objc/archive.c
@@ -617,8 +617,11 @@ objc_read_string (struct objc_typed_stream* stream,
case _B_UCOMM:
{
- len = __objc_read_nbyte_uint(stream, (buf[0] & _B_VALUE), &key);
- (*string) = hash_value_for_key (stream->stream_table, (void*)key);
+ char *tmp;
+ len = __objc_read_nbyte_uint (stream, (buf[0] & _B_VALUE), &key);
+ tmp = hash_value_for_key (stream->stream_table, (void*)key);
+ *string = __objc_xmalloc (strlen (tmp) + 1);
+ strcpy (*string, tmp);
}
break;