diff --git a/src/libsystemd-network/dhcp-option.c b/src/libsystemd-network/dhcp-option.c index a68de4ff98e..0abb8fdef02 100644 --- a/src/libsystemd-network/dhcp-option.c +++ b/src/libsystemd-network/dhcp-option.c @@ -198,7 +198,7 @@ static int parse_options(const uint8_t options[], size_t buflen, uint8_t *overlo if (memchr(option, 0, len - 1)) return -EINVAL; - string = strndup((const char *) option, len); + string = memdup_suffix0((const char *) option, len); if (!string) return -ENOMEM; diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 774bf102190..5360bce9040 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -5265,7 +5265,7 @@ int bus_message_parse_fields(sd_bus_message *m) { if (!b) return -EBADMSG; - sig = strndup(b+1, item_size - (b+1-(char*) q)); + sig = memdup_suffix0(b+1, item_size - (b+1-(char*) q)); if (!sig) return -ENOMEM;