From: vmojzis <vmojzis@xxxxxxxxxx> Loop designed for stripping leading "//" was changing the only pointer referencing block of memory allocated by "strdup", resulting in "free()" failure. The loop had no effect because "realpath" is used later on. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1376598 Signed-off-by: vmojzis <vmojzis@xxxxxxxxxx> --- libselinux/src/matchpathcon.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/libselinux/src/matchpathcon.c b/libselinux/src/matchpathcon.c index 724eb65..58b4144 100644 --- a/libselinux/src/matchpathcon.c +++ b/libselinux/src/matchpathcon.c @@ -389,12 +389,6 @@ int realpath_not_final(const char *name, char *resolved_path) goto out; } - /* strip leading // */ - while (tmp_path[len] && tmp_path[len] == '/' && - tmp_path[len+1] && tmp_path[len+1] == '/') { - tmp_path++; - len++; - } last_component = strrchr(tmp_path, '/'); if (last_component == tmp_path) { -- 2.7.4 _______________________________________________ Selinux mailing list Selinux@xxxxxxxxxxxxx To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx. To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.