projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic date update in version.in
[deliverable/binutils-gdb.git]
/
bfd
/
vms-misc.c
diff --git
a/bfd/vms-misc.c
b/bfd/vms-misc.c
index 8571e2f99799966945296b1147b8c914e6745633..d040c79de16ce761e5705eefe951d97160657fd6 100644
(file)
--- a/
bfd/vms-misc.c
+++ b/
bfd/vms-misc.c
@@
-1,6
+1,6
@@
/* vms-misc.c -- BFD back-end for VMS/VAX (openVMS/VAX) and
EVAX (openVMS/Alpha) files.
/* vms-misc.c -- BFD back-end for VMS/VAX (openVMS/VAX) and
EVAX (openVMS/Alpha) files.
- Copyright (C) 1996-20
15
Free Software Foundation, Inc.
+ Copyright (C) 1996-20
20
Free Software Foundation, Inc.
Miscellaneous functions.
Miscellaneous functions.
@@
-135,31
+135,39
@@
_bfd_hexdump (int level, unsigned char *ptr, int size, int offset)
#endif
\f
#endif
\f
-/* Copy sized string (string with fixed size) to new allocated area
-
size is string size (size of record)
*/
+/* Copy sized string (string with fixed size) to new allocated area
.
+
Size is string size (size of record).
*/
char *
char *
-_bfd_vms_save_sized_string (
unsigned char *str, in
t size)
+_bfd_vms_save_sized_string (
bfd *abfd, unsigned char *str, size_
t size)
{
{
- char *newstr
= bfd_malloc ((bfd_size_type) size + 1)
;
+ char *newstr;
+ if (size == (size_t) -1)
+ {
+ bfd_set_error (bfd_error_no_memory);
+ return NULL;
+ }
+ newstr = bfd_alloc (abfd, size + 1);
if (newstr == NULL)
return NULL;
if (newstr == NULL)
return NULL;
- memcpy (newstr,
(char *) str, (size_t)
size);
+ memcpy (newstr,
str,
size);
newstr[size] = 0;
return newstr;
}
newstr[size] = 0;
return newstr;
}
-/* Copy counted string (string with size at first byte) to new allocated area
-
ptr points to size byte on entry
*/
+/* Copy counted string (string with size at first byte) to new allocated area
.
+
PTR points to size byte on entry.
*/
char *
char *
-_bfd_vms_save_counted_string (
unsigned char *ptr
)
+_bfd_vms_save_counted_string (
bfd *abfd, unsigned char *ptr, size_t maxlen
)
{
{
- int len = *ptr++;
+
unsigned
int len = *ptr++;
- return _bfd_vms_save_sized_string (ptr, len);
+ if (len > maxlen)
+ return NULL;
+ return _bfd_vms_save_sized_string (abfd, ptr, len);
}
\f
/* Object output routines. */
}
\f
/* Object output routines. */
@@
-250,7
+258,7
@@
_bfd_vms_output_end_subrec (struct vms_rec_wr *recwr)
/* Put length to buffer. */
bfd_putl16 ((bfd_vma) (recwr->size - recwr->subrec_offset),
/* Put length to buffer. */
bfd_putl16 ((bfd_vma) (recwr->size - recwr->subrec_offset),
-
recwr->buf + recwr->subrec_offset + 2);
+ recwr->buf + recwr->subrec_offset + 2);
/* Close the subrecord. */
recwr->subrec_offset = 0;
/* Close the subrecord. */
recwr->subrec_offset = 0;
@@
-356,12
+364,12
@@
_bfd_vms_output_counted (struct vms_rec_wr *recwr, const char *value)
len = strlen (value);
if (len == 0)
{
len = strlen (value);
if (len == 0)
{
-
(*_bfd_error_handler)
(_("_bfd_vms_output_counted called with zero bytes"));
+
_bfd_error_handler
(_("_bfd_vms_output_counted called with zero bytes"));
return;
}
if (len > 255)
{
return;
}
if (len > 255)
{
-
(*_bfd_error_handler)
(_("_bfd_vms_output_counted called with too many bytes"));
+
_bfd_error_handler
(_("_bfd_vms_output_counted called with too many bytes"));
return;
}
_bfd_vms_output_byte (recwr, (unsigned int) len & 0xff);
return;
}
_bfd_vms_output_byte (recwr, (unsigned int) len & 0xff);
@@
-514,12
+522,12
@@
vms_get_module_name (const char *filename, bfd_boolean upcase)
for (fptr = fname; *fptr != 0; fptr++)
{
if (*fptr == ';' || (fptr - fname) >= 31)
for (fptr = fname; *fptr != 0; fptr++)
{
if (*fptr == ';' || (fptr - fname) >= 31)
-
{
-
*fptr = 0;
-
break;
-
}
+ {
+ *fptr = 0;
+ break;
+ }
if (upcase)
if (upcase)
-
*fptr = TOUPPER (*fptr);
+ *fptr = TOUPPER (*fptr);
}
return fname;
}
}
return fname;
}
This page took
0.02595 seconds
and
4
git commands to generate.