Don't try to write zero-lenght strings. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- nbd/server.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/nbd/server.c b/nbd/server.c index 24ebc1a805..28a915f5a2 100644 --- a/nbd/server.c +++ b/nbd/server.c @@ -392,14 +392,18 @@ static int nbd_negotiate_send_rep_list(NBDClient *client, NBDExport *exp, return -EINVAL; } - if (nbd_write(ioc, name, name_len, errp) < 0) { - error_prepend(errp, "write failed (name buffer): "); - return -EINVAL; + if (name_len > 0) { + if (nbd_write(ioc, name, name_len, errp) < 0) { + error_prepend(errp, "write failed (name buffer): "); + return -EINVAL; + } } - if (nbd_write(ioc, desc, desc_len, errp) < 0) { - error_prepend(errp, "write failed (description buffer): "); - return -EINVAL; + if (desc_len > 0) { + if (nbd_write(ioc, desc, desc_len, errp) < 0) { + error_prepend(errp, "write failed (description buffer): "); + return -EINVAL; + } } return 0; -- 2.21.0