examples/ip_pipeline: fix leak on tap creation failure
Close tap device fd before returning upon failures. Coverity issue: 272576 Fixes: 2f74ae28e2 ("examples/ip_pipeline: add tap object") Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>
This commit is contained in:
parent
89668b1c75
commit
0015ea2767
@ -76,14 +76,17 @@ tap_create(const char *name)
|
|||||||
snprintf(ifr.ifr_name, IFNAMSIZ, "%s", name);
|
snprintf(ifr.ifr_name, IFNAMSIZ, "%s", name);
|
||||||
|
|
||||||
status = ioctl(fd, TUNSETIFF, (void *) &ifr);
|
status = ioctl(fd, TUNSETIFF, (void *) &ifr);
|
||||||
if (status < 0)
|
if (status < 0) {
|
||||||
|
close(fd);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Node allocation */
|
/* Node allocation */
|
||||||
tap = calloc(1, sizeof(struct tap));
|
tap = calloc(1, sizeof(struct tap));
|
||||||
if (tap == NULL)
|
if (tap == NULL) {
|
||||||
|
close(fd);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
/* Node fill in */
|
/* Node fill in */
|
||||||
strncpy(tap->name, name, sizeof(tap->name));
|
strncpy(tap->name, name, sizeof(tap->name));
|
||||||
tap->fd = fd;
|
tap->fd = fd;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user