RTEMS | cpukit/libblock: Fix resource leak in rtems_nvdisk_initialize (CID 1439297) (!905)
MITHILESH MATTAPALLI (@mithileshm)
gitlab at rtems.org
Fri Jan 23 07:16:18 UTC 2026
MITHILESH MATTAPALLI commented on a discussion on cpukit/libblock/src/nvdisk.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/905#note_139733
> nvd->info_level = c->info_level;
>
> nvd->devices = calloc (c->device_count, sizeof (rtems_nvdisk_device_ctl));
> - if (!nvd->devices)
> + if (!nvd->devices) {
> + if (i > 0) {
> + rtems_nvdisk* p = nvd_start;
> + for (j = 0; j < i; ++j, ++p) {
> + free (p->devices);
> + }
> + }
> + free (nvd_start);
Fixed. I have refactored this to use a centralized goto error_cleanup block to remove the code duplication and ensure safe teardown (unlinking, mutex destruction) in all error paths, matching the approach used in the Flashdisk patch.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/905#note_139733
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260123/abc55374/attachment-0001.htm>
More information about the bugs
mailing list