Loading adb/file_sync_service.c +8 −5 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ static int fail_errno(int s) } static int handle_send_file(int s, char *path, uid_t uid, gid_t gid, mode_t mode, char *buffer) gid_t gid, mode_t mode, char *buffer, bool do_unlink) { syncmsg msg; unsigned int timestamp = 0; Loading Loading @@ -236,7 +236,7 @@ static int handle_send_file(int s, char *path, uid_t uid, if(writex(fd, buffer, len)) { int saved_errno = errno; adb_close(fd); adb_unlink(path); if (do_unlink) adb_unlink(path); fd = -1; errno = saved_errno; if(fail_errno(s)) return -1; Loading @@ -261,7 +261,7 @@ static int handle_send_file(int s, char *path, uid_t uid, fail: if(fd >= 0) adb_close(fd); adb_unlink(path); if (do_unlink) adb_unlink(path); return -1; } Loading Loading @@ -323,6 +323,7 @@ static int do_send(int s, char *path, char *buffer) char *tmp; unsigned int mode; int is_link, ret; bool do_unlink; tmp = strrchr(path,','); if(tmp) { Loading @@ -339,10 +340,12 @@ static int do_send(int s, char *path, char *buffer) if(!tmp || errno) { mode = 0644; is_link = 0; do_unlink = true; } 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)) { do_unlink = lstat(path, &st) || S_ISREG(st.st_mode) || S_ISLNK(st.st_mode); if (do_unlink) { adb_unlink(path); } } Loading @@ -369,7 +372,7 @@ static int do_send(int s, char *path, char *buffer) if (is_on_system(path)) { fs_config(tmp, 0, &uid, &gid, &mode, &cap); } ret = handle_send_file(s, path, uid, gid, mode, buffer); ret = handle_send_file(s, path, uid, gid, mode, buffer, do_unlink); } return ret; Loading Loading
adb/file_sync_service.c +8 −5 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ static int fail_errno(int s) } static int handle_send_file(int s, char *path, uid_t uid, gid_t gid, mode_t mode, char *buffer) gid_t gid, mode_t mode, char *buffer, bool do_unlink) { syncmsg msg; unsigned int timestamp = 0; Loading Loading @@ -236,7 +236,7 @@ static int handle_send_file(int s, char *path, uid_t uid, if(writex(fd, buffer, len)) { int saved_errno = errno; adb_close(fd); adb_unlink(path); if (do_unlink) adb_unlink(path); fd = -1; errno = saved_errno; if(fail_errno(s)) return -1; Loading @@ -261,7 +261,7 @@ static int handle_send_file(int s, char *path, uid_t uid, fail: if(fd >= 0) adb_close(fd); adb_unlink(path); if (do_unlink) adb_unlink(path); return -1; } Loading Loading @@ -323,6 +323,7 @@ static int do_send(int s, char *path, char *buffer) char *tmp; unsigned int mode; int is_link, ret; bool do_unlink; tmp = strrchr(path,','); if(tmp) { Loading @@ -339,10 +340,12 @@ static int do_send(int s, char *path, char *buffer) if(!tmp || errno) { mode = 0644; is_link = 0; do_unlink = true; } 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)) { do_unlink = lstat(path, &st) || S_ISREG(st.st_mode) || S_ISLNK(st.st_mode); if (do_unlink) { adb_unlink(path); } } Loading @@ -369,7 +372,7 @@ static int do_send(int s, char *path, char *buffer) if (is_on_system(path)) { fs_config(tmp, 0, &uid, &gid, &mode, &cap); } ret = handle_send_file(s, path, uid, gid, mode, buffer); ret = handle_send_file(s, path, uid, gid, mode, buffer, do_unlink); } return ret; Loading