asan: alpha-vms: buffer overflow

* vms-misc.c (_bfd_vms_save_counted_string): Count length byte
	towards maxlen.
This commit is contained in:
Alan Modra 2020-10-25 22:21:45 +10:30
parent 4690795539
commit 0c70050a4b
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2020-10-25 Alan Modra <amodra@gmail.com>
* vms-misc.c (_bfd_vms_save_counted_string): Count length byte
towards maxlen.
2020-10-20 Dr. David Alan Gilbert <dgilbert@redhat.com>
* po/es.po: Fix printf format.

View File

@ -163,9 +163,12 @@ _bfd_vms_save_sized_string (bfd *abfd, unsigned char *str, size_t size)
char *
_bfd_vms_save_counted_string (bfd *abfd, unsigned char *ptr, size_t maxlen)
{
unsigned int len = *ptr++;
unsigned int len;
if (len > maxlen)
if (maxlen == 0)
return NULL;
len = *ptr++;
if (len > maxlen - 1)
return NULL;
return _bfd_vms_save_sized_string (abfd, ptr, len);
}