diff options
author | Andreas Schwab <schwab@suse.de> | 2018-08-20 16:55:05 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2018-08-21 10:34:02 +0200 |
commit | 9dcbfff1e02778bac6fb723640724c38001a8f0a (patch) | |
tree | 2bdfd52855a80405a6892b274959d99235271be8 /gas/read.c | |
parent | 9cf7e5687f823a1009d25cb25ff653ee8372e517 (diff) | |
download | gdb-9dcbfff1e02778bac6fb723640724c38001a8f0a.zip gdb-9dcbfff1e02778bac6fb723640724c38001a8f0a.tar.gz gdb-9dcbfff1e02778bac6fb723640724c38001a8f0a.tar.bz2 |
Fix invalid strcpy on unterminated buffer
* read.c (do_repeat_with_expander): Use memmove instead of strcpy
on unterminated string buffer.
Diffstat (limited to 'gas/read.c')
-rw-r--r-- | gas/read.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -3117,7 +3117,8 @@ do_repeat_with_expander (size_t count, sub = strstr (processed.ptr, expander); len = sprintf (sub, "%lu", (unsigned long) count); gas_assert (len < 8); - strcpy (sub + len, sub + 8); + memmove (sub + len, sub + 8, + processed.ptr + processed.len - (sub + 8)); processed.len -= (8 - len); sb_add_sb (& many, & processed); sb_kill (& processed); |