aboutsummaryrefslogtreecommitdiff
path: root/bfd/vms.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2017-06-21 15:21:11 +0100
committerNick Clifton <nickc@redhat.com>2017-06-21 15:21:11 +0100
commit7adc0a8174f1233f6d92edd0671c18c9870e64e7 (patch)
tree52842fd9aad3ec3b8df8f5b3b9bac8b1839361cd /bfd/vms.h
parent3d030cdb4a8d338c87e48b249338a4870fdcd322 (diff)
downloadfsf-binutils-gdb-7adc0a8174f1233f6d92edd0671c18c9870e64e7.zip
fsf-binutils-gdb-7adc0a8174f1233f6d92edd0671c18c9870e64e7.tar.gz
fsf-binutils-gdb-7adc0a8174f1233f6d92edd0671c18c9870e64e7.tar.bz2
Fix address violation parsing a corrupt Alpha VMS binary file.
PR binutils/21639 * vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as type of the size parameter. (_bfd_vms_save_counted_string): Add second parameter - the maximum length of the counted string. * vms.h (_bfd_vms_save_sized_string): Update prototype. (_bfd_vms_save_counted_string): Likewise. * vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to _bfd_vms_save_counted_string. (_bfd_vms_slurp_ehdr): Likewise. (_bfd_vms_slurp_egsd): Likewise. (Parse_module): Likewise.
Diffstat (limited to 'bfd/vms.h')
-rw-r--r--bfd/vms.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/bfd/vms.h b/bfd/vms.h
index e1c5d83..230ff7f 100644
--- a/bfd/vms.h
+++ b/bfd/vms.h
@@ -118,8 +118,8 @@ extern void vms_time_t_to_vms_time (time_t ut, unsigned int *hi, unsigned int *l
extern void vms_get_time (unsigned int *hi, unsigned int *lo);
extern void vms_raw_get_time (unsigned char *buf);
-extern char * _bfd_vms_save_sized_string (unsigned char *, int);
-extern char * _bfd_vms_save_counted_string (unsigned char *);
+extern char * _bfd_vms_save_sized_string (unsigned char *, unsigned);
+extern char * _bfd_vms_save_counted_string (unsigned char *, unsigned);
extern void _bfd_vms_output_begin (struct vms_rec_wr *, int);
extern void _bfd_vms_output_alignment (struct vms_rec_wr *, int);
extern void _bfd_vms_output_begin_subrec (struct vms_rec_wr *, int);