On 02. 01. 2025. 21:40, Илья Шипицин wrote:
> Honestly, I think those elements must be deallocated on program exit,
> not only if something failed during allocation.
>
> but I did not check that
>
That is correct. However, the calloc() result is not checked before strdup()
either, so the patch is not good.
>>> while (*(args[cur_arg])) {
>>> name = calloc(1, sizeof(*name));
>>> name->name = strdup(args[cur_arg]);
>>> + if (name->name == NULL) {
>>> + memprintf(err,"Out of memory.");
>>> + goto fail_free_name;
>>> + }
>>> LIST_APPEND(&global_51degrees.property_names, &name->list);
>>> ++cur_arg;
>>> }
>>>
>>> return 0;
>>> +
>>> +fail_free_name:
>>> + free(name);
>>> +fail:
>>> + return -1;
--
Miroslav Zagorac
What can change the nature of a man?