/* Disassembly routines for TMS320C30 architecture
- Copyright (C) 1998-2020 Free Software Foundation, Inc.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
This file is part of the GNU opcodes library.
{
if ((fragment & 0x1F) == current_reg->opcode)
{
- strncpy (buffer, current_reg->name, OPERAND_BUFFER_LEN);
+ strncpy (buffer, current_reg->name, OPERAND_BUFFER_LEN - 1);
buffer[OPERAND_BUFFER_LEN - 1] = 0;
return 1;
}
struct instruction insn = { 0, NULL, NULL };
bfd_vma bufaddr = pc - info->buffer_vma;
+ if (bufaddr + 3 >= info->buffer_length)
+ return -1;
+
/* Obtain the current instruction word from the buffer. */
insn_word = (((unsigned) *(info->buffer + bufaddr) << 24)
| (*(info->buffer + bufaddr + 1) << 16)