Re: [PATCH] perf expr: Fix return value of ids__new

From: German Gomez
Date: Mon Dec 13 2021 - 11:03:04 EST



On 13/12/2021 13:13, German Gomez wrote:
> [...]
>
> On 13/12/2021 07:09, Miaoqian Lin wrote:
>> callers of ids__new() function only do NULL checking for the return
>> value. ids__new() calles hashmap__new(), which may return
>> ERR_PTR(-ENOMEM). Instead of changing the checking one-by-one.
>> return NULL instead of ERR_PTR(-ENOMEM) to keep
>> consistent.
>>
>> Signed-off-by: Miaoqian Lin <linmq006@xxxxxxxxx>
>> ---
>> tools/perf/util/expr.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/util/expr.c b/tools/perf/util/expr.c
>> index 1d532b9fed29..aabdc112300c 100644
>> --- a/tools/perf/util/expr.c
>> +++ b/tools/perf/util/expr.c
>> @@ -65,7 +65,13 @@ static bool key_equal(const void *key1, const void *key2,
>>
>> struct hashmap *ids__new(void)
>> {
>> - return hashmap__new(key_hash, key_equal, NULL);
>> + struct hashmap *hash;
>> +
>> + hash = hashmap__new(key_hash, key_equal, NULL);
>> + if (IS_ERR(hash))
>> + return NULL;
>> + else
>> + return hash;

Small nitpick but can remove the else branch and simply return at the
end? Your patch still compiles for me but I think most other functions
do that.

>> [...]