X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Ftracker.c;h=29249d528bc8da1f1a7b71e00381cc24b65d1678;hp=c27d9765562e590241e2ae9ba5ece15e8bbdc1a0;hb=3b13cbcca15abc7ddb64731ba047cfdad75d97a0;hpb=d4e3717311122d9def6e4edbebae32ab6fd06507 diff --git a/src/common/tracker.c b/src/common/tracker.c index c27d97655..29249d528 100644 --- a/src/common/tracker.c +++ b/src/common/tracker.c @@ -85,6 +85,7 @@ enum lttng_error_code process_attr_value_from_comm( name = strdup(value_view->data); if (!name) { ret = LTTNG_ERR_NOMEM; + goto error; } } @@ -102,10 +103,12 @@ enum lttng_error_code process_attr_value_from_comm( } /* Only expect a payload for name value types. */ - if (is_value_type_name(value_type) && value_view->size == 0) { + if (is_value_type_name(value_type) && + (!value_view || value_view->size == 0)) { ret = LTTNG_ERR_INVALID_PROTOCOL; goto error; - } else if (!is_value_type_name(value_type) && value_view->size != 0) { + } else if (!is_value_type_name(value_type) && value_view && + value_view->size != 0) { ret = LTTNG_ERR_INVALID_PROTOCOL; goto error; }