Loading libs/utils/BackupHelpers.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -503,10 +503,10 @@ int write_tarfile(const String8& packageName, const String8& domain, needExtended = true; } // Non-7bit-clean path or embedded spaces also mean needing pax extended format // Non-7bit-clean path also means needing pax extended format if (!needExtended) { for (size_t i = 0; i < filepath.length(); i++) { if ((filepath[i] & 0x80) != 0 || filepath[i] == ' ') { if ((filepath[i] & 0x80) != 0) { needExtended = true; break; } Loading services/java/com/android/server/BackupManagerService.java +3 −2 Original line number Diff line number Diff line Loading @@ -2859,6 +2859,7 @@ class BackupManagerService extends IBackupManager.Stub { final int end = offset + maxChars; for (int i = offset; i < end; i++) { final byte b = data[i]; // Numeric fields in tar can terminate with either NUL or SPC if (b == 0 || b == ' ') break; if (b < '0' || b > ('0' + radix - 1)) { throw new IOException("Invalid number in header"); Loading @@ -2871,8 +2872,8 @@ class BackupManagerService extends IBackupManager.Stub { String extractString(byte[] data, int offset, int maxChars) throws IOException { final int end = offset + maxChars; int eos = offset; // tar string fields can end with either NUL or SPC while (eos < end && data[eos] != 0 && data[eos] != ' ') eos++; // tar string fields terminate early with a NUL while (eos < end && data[eos] != 0) eos++; return new String(data, offset, eos-offset, "US-ASCII"); } Loading Loading
libs/utils/BackupHelpers.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -503,10 +503,10 @@ int write_tarfile(const String8& packageName, const String8& domain, needExtended = true; } // Non-7bit-clean path or embedded spaces also mean needing pax extended format // Non-7bit-clean path also means needing pax extended format if (!needExtended) { for (size_t i = 0; i < filepath.length(); i++) { if ((filepath[i] & 0x80) != 0 || filepath[i] == ' ') { if ((filepath[i] & 0x80) != 0) { needExtended = true; break; } Loading
services/java/com/android/server/BackupManagerService.java +3 −2 Original line number Diff line number Diff line Loading @@ -2859,6 +2859,7 @@ class BackupManagerService extends IBackupManager.Stub { final int end = offset + maxChars; for (int i = offset; i < end; i++) { final byte b = data[i]; // Numeric fields in tar can terminate with either NUL or SPC if (b == 0 || b == ' ') break; if (b < '0' || b > ('0' + radix - 1)) { throw new IOException("Invalid number in header"); Loading @@ -2871,8 +2872,8 @@ class BackupManagerService extends IBackupManager.Stub { String extractString(byte[] data, int offset, int maxChars) throws IOException { final int end = offset + maxChars; int eos = offset; // tar string fields can end with either NUL or SPC while (eos < end && data[eos] != 0 && data[eos] != ' ') eos++; // tar string fields terminate early with a NUL while (eos < end && data[eos] != 0) eos++; return new String(data, offset, eos-offset, "US-ASCII"); } Loading