git.annexia.org
/
libguestfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Coverity: Don't close fd_cwd if fd_cwd == -1.
[libguestfs.git]
/
daemon
/
guestfsd.c
diff --git
a/daemon/guestfsd.c
b/daemon/guestfsd.c
index
e398b7d
..
e18ab31
100644
(file)
--- a/
daemon/guestfsd.c
+++ b/
daemon/guestfsd.c
@@
-142,6
+142,8
@@
main (int argc, char *argv[])
int dont_fork = 0;
char *cmdline;
int dont_fork = 0;
char *cmdline;
+ ignore_value (chdir ("/"));
+
if (winsock_init () == -1)
error (EXIT_FAILURE, 0, "winsock initialization failed");
if (winsock_init () == -1)
error (EXIT_FAILURE, 0, "winsock initialization failed");
@@
-258,6
+260,7
@@
main (int argc, char *argv[])
"output to the libguestfs developers, either in a bug report\n"
"or on the libguestfs redhat com mailing list.\n"
"\n");
"output to the libguestfs developers, either in a bug report\n"
"or on the libguestfs redhat com mailing list.\n"
"\n");
+ perror ("/dev/virtio-ports/org.libguestfs.channel.0");
exit (EXIT_FAILURE);
}
exit (EXIT_FAILURE);
}
@@
-270,8
+273,10
@@
main (int argc, char *argv[])
xdrmem_create (&xdr, lenbuf, sizeof lenbuf, XDR_ENCODE);
xdr_u_int (&xdr, &len);
xdrmem_create (&xdr, lenbuf, sizeof lenbuf, XDR_ENCODE);
xdr_u_int (&xdr, &len);
- if (xwrite (sock, lenbuf, sizeof lenbuf) == -1)
+ if (xwrite (sock, lenbuf, sizeof lenbuf) == -1) {
+ perror ("xwrite");
exit (EXIT_FAILURE);
exit (EXIT_FAILURE);
+ }
xdr_destroy (&xdr);
xdr_destroy (&xdr);
@@
-689,6
+694,7
@@
commandrvf (char **stdoutput, char **stderror, int flags,
}
if (pid == 0) { /* Child process running the command. */
}
if (pid == 0) { /* Child process running the command. */
+ signal (SIGPIPE, SIG_DFL);
close (0);
if (flag_copy_stdin) {
dup2 (stdin_fd[0], 0);
close (0);
if (flag_copy_stdin) {
dup2 (stdin_fd[0], 0);
@@
-777,9
+783,13
@@
commandrvf (char **stdoutput, char **stderror, int flags,
quit = 0;
while (quit < 2) {
quit = 0;
while (quit < 2) {
+ again:
rset2 = rset;
r = select (MAX (so_fd[0], se_fd[0]) + 1, &rset2, NULL, NULL, NULL);
if (r == -1) {
rset2 = rset;
r = select (MAX (so_fd[0], se_fd[0]) + 1, &rset2, NULL, NULL, NULL);
if (r == -1) {
+ if (errno == EINTR)
+ goto again;
+
perror ("select");
quit:
if (stdoutput) free (*stdoutput);
perror ("select");
quit:
if (stdoutput) free (*stdoutput);
@@
-974,7
+984,8
@@
trim (char *str)
}
/* printf helper function so we can use %Q ("quoted") and %R to print
}
/* printf helper function so we can use %Q ("quoted") and %R to print
- * shell-quoted strings. See HACKING file for more details.
+ * shell-quoted strings. See guestfs(3)/EXTENDING LIBGUESTFS for more
+ * details.
*/
static int
print_shell_quote (FILE *stream,
*/
static int
print_shell_quote (FILE *stream,