{
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)