Only full-data back up regular files + directories

Ignore every filesystem entity that is not a regular file or directory.
In particular, we now ignore not only symlinks but also sockets, pipes,
et cetera.

Bug 32143362

Change-Id: If51b54df1f7a643af145eb15bf12d389d19f8780
This commit is contained in:
Christopher Tate
2016-10-13 12:12:29 -07:00
parent 4bd56fbbee
commit da2018efeb

View File

@@ -649,10 +649,11 @@ public abstract class BackupAgent extends ContextWrapper {
File file = scanQueue.remove(0); File file = scanQueue.remove(0);
String filePath; String filePath;
try { try {
// Ignore symlinks outright // Ignore things that aren't "real" files or dirs
StructStat stat = Os.lstat(file.getPath()); StructStat stat = Os.lstat(file.getPath());
if (OsConstants.S_ISLNK(stat.st_mode)) { if (!OsConstants.S_ISREG(stat.st_mode)
if (DEBUG) Log.i(TAG, "Symlink (skipping)!: " + file); && !OsConstants.S_ISDIR(stat.st_mode)) {
if (DEBUG) Log.i(TAG, "Not a file/dir (skipping)!: " + file);
continue; continue;
} }