examples/vhost: fix path allocation failure handling
Add the missing failure handling for path allocation, as realloc() may fail. Fixes: ad0eef4d2203 ("examples/vhost: support multiple socket files") Cc: stable@dpdk.org Signed-off-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
parent
e1c0834f95
commit
d79035b7dd
@ -353,11 +353,19 @@ port_init(uint16_t port)
|
|||||||
static int
|
static int
|
||||||
us_vhost_parse_socket_path(const char *q_arg)
|
us_vhost_parse_socket_path(const char *q_arg)
|
||||||
{
|
{
|
||||||
|
char *old;
|
||||||
|
|
||||||
/* parse number string */
|
/* parse number string */
|
||||||
if (strnlen(q_arg, PATH_MAX) == PATH_MAX)
|
if (strnlen(q_arg, PATH_MAX) == PATH_MAX)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
old = socket_files;
|
||||||
socket_files = realloc(socket_files, PATH_MAX * (nb_sockets + 1));
|
socket_files = realloc(socket_files, PATH_MAX * (nb_sockets + 1));
|
||||||
|
if (socket_files == NULL) {
|
||||||
|
free(old);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
snprintf(socket_files + nb_sockets * PATH_MAX, PATH_MAX, "%s", q_arg);
|
snprintf(socket_files + nb_sockets * PATH_MAX, PATH_MAX, "%s", q_arg);
|
||||||
nb_sockets++;
|
nb_sockets++;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user