Re: [PATCH 09/14] tools lib traceevent: Get rid of die() in add_right()

From: Namhyung Kim
Date: Mon Dec 09 2013 - 01:59:43 EST


Hi Ilia,

On Mon, 9 Dec 2013 01:28:26 -0500, Ilia Mirkin wrote:
> On Mon, Dec 9, 2013 at 12:34 AM, Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
>> ---
>> tools/lib/traceevent/parse-filter.c | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c
>> index 5efe66a682bd..a1ad609a860f 100644
>> --- a/tools/lib/traceevent/parse-filter.c
>> +++ b/tools/lib/traceevent/parse-filter.c
>> @@ -583,12 +583,18 @@ static int add_right(struct filter_arg *op, struct filter_arg *arg,
>> op->str.type = op_type;
>> op->str.field = left->field.field;
>> op->str.val = strdup(str);
>> - if (!op->str.val)
>> - die("malloc string");
>> + if (!op->str.val) {
>> + show_error(error_str, "Failed to allocate string filter");
>> + return -1;
>> + }
>> /*
>> * Need a buffer to copy data for tests
>> */
>> - op->str.buffer = malloc_or_die(op->str.field->size + 1);
>> + op->str.buffer = malloc(op->str.field->size + 1);
>> + if (op->str.buffer) {
>
> That should probably be
>
> if (!op->str.buffer)

Argh.. you're right!

>
> Also, should you free op->str.val? Perhaps the surrounding code takes
> care of that.

Yeah, it'll be handled by the caller - process_filter().

Thanks for the quick review!
Namhyung

>
>> + show_error(error_str, "Failed to allocate string filter");
>> + return -1;
>> + }
>> /* Null terminate this buffer */
>> op->str.buffer[op->str.field->size] = 0;
>>
>> --
>> 1.7.11.7
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/