Pass the right sizes to malloc() and realloc().
Reported by: scan-build, via Mark Millard MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D16180
This commit is contained in:
parent
a1da396af9
commit
eaf95127f8
@ -716,13 +716,13 @@ filter_reloc(struct elfcopy *ecp, struct section *s)
|
||||
#define COPYREL(REL, SZ) do { \
|
||||
if (nrels == 0) { \
|
||||
if ((REL##SZ = malloc(cap * \
|
||||
sizeof(Elf##SZ##_Rel))) == NULL) \
|
||||
sizeof(*REL##SZ))) == NULL) \
|
||||
err(EXIT_FAILURE, "malloc failed"); \
|
||||
} \
|
||||
if (nrels >= cap) { \
|
||||
cap *= 2; \
|
||||
if ((REL##SZ = realloc(REL##SZ, cap * \
|
||||
sizeof(Elf##SZ##_Rel))) == NULL) \
|
||||
sizeof(*REL##SZ))) == NULL) \
|
||||
err(EXIT_FAILURE, "realloc failed"); \
|
||||
} \
|
||||
REL##SZ[nrels].r_offset = REL.r_offset; \
|
||||
|
Loading…
x
Reference in New Issue
Block a user