The problem happens around utils/ldd.c:555:
                tmp = strrchr(interp_dir, '/');
                if (*tmp)
                        *tmp = '\0';
                else {
                        free(interp_dir);
                        interp_dir = interp_name;
                }

The *tmp is the culprit.
If NULL is returned by strrchr(), then a segfault happens.

Perhaps the following is what is intended?
                tmp = strrchr(interp_dir, '/');
                if (tmp)
                        *tmp = '\0';
                else {
                        free(interp_dir);
                        interp_dir = interp_name;
                }
-- 
Kevin Day
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to