aboutsummaryrefslogtreecommitdiffstats
path: root/clientserver.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-11-09 18:46:55 -0800
committerWayne Davison <wayned@samba.org>2008-11-09 18:56:21 -0800
commit9411292489496984c8d5d9a446bf071afac3866d (patch)
treea68d29f7e1387a01ecbd0daaff821b3fe3d3b799 /clientserver.c
parentb4de848d75b5bc289f13c4f47a4f78d4c876b1a2 (diff)
downloadandroid_external_rsync-9411292489496984c8d5d9a446bf071afac3866d.tar.gz
android_external_rsync-9411292489496984c8d5d9a446bf071afac3866d.tar.bz2
android_external_rsync-9411292489496984c8d5d9a446bf071afac3866d.zip
Fixed a bunch of "warn_unused_result" compiler warnings.
Diffstat (limited to 'clientserver.c')
-rw-r--r--clientserver.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/clientserver.c b/clientserver.c
index b891d79a..5002959c 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -603,7 +603,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
status = -1;
if (asprintf(&p, "RSYNC_EXIT_STATUS=%d", status) > 0)
putenv(p);
- system(lp_postxfer_exec(i));
+ if (system(lp_postxfer_exec(i)) < 0)
+ status = -1;
_exit(status);
}
}
@@ -974,20 +975,23 @@ static void create_pid_file(void)
char *pid_file = lp_pid_file();
char pidbuf[16];
pid_t pid = getpid();
- int fd;
+ int fd, len;
if (!pid_file || !*pid_file)
return;
cleanup_set_pid(pid);
if ((fd = do_open(pid_file, O_WRONLY|O_CREAT|O_EXCL, 0666 & ~orig_umask)) == -1) {
+ failure:
cleanup_set_pid(0);
fprintf(stderr, "failed to create pid file %s: %s\n", pid_file, strerror(errno));
rsyserr(FLOG, errno, "failed to create pid file %s", pid_file);
exit_cleanup(RERR_FILEIO);
}
snprintf(pidbuf, sizeof pidbuf, "%ld\n", (long)pid);
- write(fd, pidbuf, strlen(pidbuf));
+ len = strlen(pidbuf);
+ if (write(fd, pidbuf, len) != len)
+ goto failure;
close(fd);
}