HomeFreeBSD

zfs_get_enclosure_sysfs_path(): don't leak dev path

Description

zfs_get_enclosure_sysfs_path(): don't leak dev path

Also always free tmp2 at the end

Before:
nabijaczleweli@tarta:~/uwu$ valgrind --leak-check=full ./blergh

8947== Memcheck, a memory error detector

8947== Using Valgrind-3.14.0 and LibVEX

8947== Command: ./blergh

8947

(null)

8947

8947== HEAP SUMMARY:

8947== in use at exit: 23 bytes in 1 blocks

8947== total heap usage: 3 allocs, 2 frees, 1,147 bytes allocated

8947

8947== 23 bytes in 1 blocks are definitely lost in loss record 1 of 1

8947== at 0x483577F: malloc (vg_replace_malloc.c:299)

8947== by 0x48D74B7: vasprintf (vasprintf.c:73)

8947== by 0x48B7833: asprintf (asprintf.c:35)

8947== by 0x401258: zfs_get_enclosure_sysfs_path

(zutil_device_path_os.c:191)

8947== by 0x401482: main (blergh.c:107)

8947

8947== LEAK SUMMARY:

8947== definitely lost: 23 bytes in 1 blocks

8947== indirectly lost: 0 bytes in 0 blocks

8947== possibly lost: 0 bytes in 0 blocks

8947== still reachable: 0 bytes in 0 blocks

8947== suppressed: 0 bytes in 0 blocks

8947

8947== For counts of detected and suppressed errors, rerun with: -v

8947== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

nabijaczleweli@tarta:~/uwu$ sed -n 191p zutil_device_path_os.c

tmpsize = asprintf(&tmp1, "/sys/block/%s/device", dev_name);

After:
nabijaczleweli@tarta:~/uwu$ valgrind --leak-check=full ./blergh

9512== Memcheck, a memory error detector

9512== Using Valgrind-3.14.0 and LibVEX

9512== Command: ./blergh

9512

(null)

9512

9512== HEAP SUMMARY:

9512== in use at exit: 0 bytes in 0 blocks

9512== total heap usage: 3 allocs, 3 frees, 1,147 bytes allocated

9512

9512== All heap blocks were freed -- no leaks are possible

9512

9512== For counts of detected and suppressed errors, rerun with: -v

9512== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #11993

Details

Provenance
наб <nabijaczleweli@nabijaczleweli.xyz>Authored on May 3 2021, 10:01 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on May 10 2021, 7:21 PM
Parents
rG214ae461f184: zpool: vdev_run_cmd(): don't free undefined pointers
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG14b56624c8e7: zfs_get_enclosure_sysfs_path(): don't leak dev path (authored by наб <nabijaczleweli@nabijaczleweli.xyz>).May 10 2021, 7:21 PM