mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 07:35:26 +00:00
isc_buffer_*(): if source can be NULL, only call memmove() when length is non-zero
Certain isc_buffer_*() functions might call memmove() with the second argument (source) set to NULL and the third argument (length) set to 0. While harmless, it triggers an ubsan warning: runtime error: null pointer passed as argument 2, which is declared to never be null Modify all memmove() call sites in lib/isc/include/isc/buffer.h and lib/isc/buffer.c which may potentially use NULL as the second argument (source) so that memmove() is only called if the third argument (length) is non-zero.
This commit is contained in:
@@ -166,7 +166,7 @@ isc_netaddr_totext(const isc_netaddr_t *netaddr, isc_buffer_t *target) {
|
||||
return (ISC_R_NOSPACE);
|
||||
|
||||
isc_buffer_putmem(target, (unsigned char *)abuf, alen);
|
||||
isc_buffer_putmem(target, (unsigned char *)zbuf, zlen);
|
||||
isc_buffer_putmem(target, (unsigned char *)zbuf, (unsigned int)zlen);
|
||||
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
|
Reference in New Issue
Block a user