From: Samuel Mendoza-Jonas Date: Fri, 18 Dec 2015 03:00:49 +0000 (+1100) Subject: discover: Release process resources on error X-Git-Tag: v1.0.0~27 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=5f339d4485e450adac994c190bfafb45734bcae9;hp=90cd56cb816e7045b41542c119f64b9ee349a6bc discover: Release process resources on error Fixes Coverity defect #30472 Signed-off-by: Sam Mendoza-Jonas --- diff --git a/discover/device-handler.c b/discover/device-handler.c index 77f9e3c..9de2a19 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -1099,10 +1099,12 @@ static char *device_from_addr(void *ctx, struct pb_url *url) rc = process_run_sync(p); - if (rc) { + if (rc || p->exit_status) { /* ip has complained for some reason; most likely * there is no route to the host - bail out */ - pb_debug("%s: No route to %s\n",__func__,url->host); + pb_debug("%s: `ip` returns non-zero exit status\n", __func__); + pb_debug("ip buf: %s\n", p->stdout_buf); + process_release(p); return NULL; }