diff options
Diffstat (limited to 'daemon/guestfsd.c')
-rw-r--r-- | daemon/guestfsd.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index 61740746..43f41df0 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -364,7 +364,7 @@ char * sysroot_path (const char *path) { char *r; - int len = strlen (path) + sysroot_len + 1; + size_t len = strlen (path) + sysroot_len + 1; r = malloc (len); if (r == NULL) @@ -497,7 +497,7 @@ sort_strings (char **argv, size_t len) void free_strings (char **argv) { - int argc; + size_t argc; for (argc = 0; argv[argc] != NULL; ++argc) free (argv[argc]); @@ -523,7 +523,8 @@ commandf (char **stdoutput, char **stderror, int flags, const char *name, ...) va_list args; const char **argv; char *s; - int i, r; + size_t i; + int r; /* Collect the command line arguments into an array. */ i = 2; @@ -655,7 +656,7 @@ int commandrvf (char **stdoutput, char **stderror, int flags, char const* const *argv) { - int so_size = 0, se_size = 0; + size_t so_size = 0, se_size = 0; int so_fd[2], se_fd[2]; int flag_copy_stdin = flags & COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN; int stdin_fd[2] = { -1, -1 }; @@ -894,9 +895,10 @@ commandrvf (char **stdoutput, char **stderror, int flags, *stderror = q; if (*stderror) { (*stderror)[se_size] = '\0'; - se_size--; - while (se_size >= 0 && (*stderror)[se_size] == '\n') - (*stderror)[se_size--] = '\0'; + while (se_size > 0 && (*stderror)[se_size-1] == '\n') { + se_size--; + (*stderror)[se_size] = '\0'; + } } } |