nbd/server: Prefer heap over stack for parsing client names
commit9d7ab222da5a9de61b34f26ec442d37ccdd18cf0
authorEric Blake <eblake@redhat.com>
Thu, 14 Nov 2019 02:46:32 +0000 (13 20:46 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 18 Nov 2019 22:01:34 +0000 (18 16:01 -0600)
tree3e9909533221eb61a13776d70b21ab0c05dc72f8
parentf61ffad53f6d1cc4e23c557e22ed3d4f0ad0ae5e
nbd/server: Prefer heap over stack for parsing client names

As long as we limit NBD names to 256 bytes (the bare minimum permitted
by the standard), stack-allocation works for parsing a name received
from the client.  But as mentioned in a comment, we eventually want to
permit up to the 4k maximum of the NBD standard, which is too large
for stack allocation; so switch everything in the server to use heap
allocation.  For now, there is no change in actually supported name
length.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191114024635.11363-2-eblake@redhat.com>
[eblake: fix uninit variable compile failure]
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
include/block/nbd.h
nbd/server.c