adb: Don't clobber block devices during push
In the past, an adb push would ALWAYS unlink the target path. Now, we only links and regular files (and links). This allows the following to work: adb shell ls -l /dev/block/mmcblk0p8 # brw------- root root 179, 8 2013-11-28 07:43 mmcblk0p8 adb push n7.jpa.mda.post_jb_encryption.raw /dev/block/mmcblk0p8 Bug: 11984121 Change-Id: I982c7a1cd87986621f2bebdcb41c4e281f67f772
This commit is contained in:
parent
0c3d19ff3d
commit
4ce2f838e7
1 changed files with 6 additions and 3 deletions
|
@ -339,11 +339,14 @@ static int do_send(int s, char *path, char *buffer)
|
|||
if(!tmp || errno) {
|
||||
mode = 0644;
|
||||
is_link = 0;
|
||||
} else {
|
||||
struct stat st;
|
||||
/* Don't delete files before copying if they are not "regular" */
|
||||
if(lstat(path, &st) || S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
|
||||
adb_unlink(path);
|
||||
}
|
||||
}
|
||||
|
||||
adb_unlink(path);
|
||||
|
||||
|
||||
#ifdef HAVE_SYMLINKS
|
||||
if(is_link)
|
||||
ret = handle_send_link(s, path, buffer);
|
||||
|
|
Loading…
Reference in a new issue