Aside from a false positive warning (about an infinite loop for service_uevq) there is nothing besides valgrind finding leaks in pthread_create() from glibc (likely false positives also).
All the old errors:
==10019== Thread 3:
==10019== Invalid read of size 1
==10019== at 0x4C2E0E2: strlen (in /usr/lib/valgrind/...)
==10019== by 0x56FC243: find_mp_by_alias (structs.c:295)
...
==10019== Address 0x731ada0 is 0 bytes inside a block of size 6 free'd
==10019== at 0x4C2BDEC: free (in /usr/lib/valgrind/...)
==10019== by 0x404A9A: uev_add_map (main.c:245)
...
Aside from a false positive warning (about an infinite loop for service_uevq) there is nothing besides valgrind finding leaks in pthread_create() from glibc (likely false positives also).
All the old errors:
==10019== Thread 3: valgrind/ ...) valgrind/ ...)
==10019== Invalid read of size 1
==10019== at 0x4C2E0E2: strlen (in /usr/lib/
==10019== by 0x56FC243: find_mp_by_alias (structs.c:295)
...
==10019== Address 0x731ada0 is 0 bytes inside a block of size 6 free'd
==10019== at 0x4C2BDEC: free (in /usr/lib/
==10019== by 0x404A9A: uev_add_map (main.c:245)
...
Seem to be gone. This shows the patch was effective and is solving the problems of initial core dump, that suffered a seg fault when accessing mpp->alias (just like comment https:/ /bugs.launchpad .net/ubuntu/ +source/ multipath- tools/+ bug/1695789/ comments/ 1 showed).
I'll consider this as verification-done.