Fix bugs in File.getCanonicalPath()

when
1. the path is too long to have 4096 characters.
2. has consecutive path separators e.g. "//" in the path

Bug: 266432364
Bug: 267617531
Test: atest CtsLibcoreTestCases:libcore.java.io.FileTest
Ignore-AOSP-First: security related bug
Merged-In: I6b5473687d11d7e66e087bb741873251d99fb4ed
Change-Id: I6b5473687d11d7e66e087bb741873251d99fb4ed
(cherry picked from commit 8178b79712a875da1a0f2a8340fbf3bd5417c203)
2 files changed