iovec-wrapper: fix memleak in iovw_consume() when len == 0

This makes even when len == 0, the input buffer is freed.
The behavior is consistent with strv_consume() and friends.
This commit is contained in:
Yu Watanabe
2026-04-19 03:45:08 +09:00
parent 043358d852
commit ce81c7dd74
2 changed files with 6 additions and 7 deletions
+2 -2
View File
@@ -38,7 +38,7 @@ int iovw_put(struct iovec_wrapper *iovw, void *data, size_t len) {
return -ENOMEM;
iovw->iovec[iovw->count++] = IOVEC_MAKE(data, len);
return 0;
return 1;
}
int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) {
@@ -46,7 +46,7 @@ int iovw_consume(struct iovec_wrapper *iovw, void *data, size_t len) {
int r;
r = iovw_put(iovw, data, len);
if (r < 0)
if (r <= 0)
free(data);
return r;