[Pkg-libvirt-commits] [libguestfs] 145/156: daemon: Fix echo-daemon so it doesn't fail on empty array input.
Hilko Bengen
bengen at moszumanska.debian.org
Sat Aug 30 08:26:16 UTC 2014
This is an automated email from the git hooks/post-receive script.
bengen pushed a commit to branch master
in repository libguestfs.
commit aab7deb6235c74953553f2d5a98fe38990deff77
Author: Richard W.M. Jones <rjones at redhat.com>
Date: Tue Aug 19 12:16:04 2014 +0100
daemon: Fix echo-daemon so it doesn't fail on empty array input.
(cherry picked from commit 8b3b7cc0daf424249d49fbd7bca2d3a80d1af556)
---
daemon/echo-daemon.c | 45 +++++----------------------------------------
generator/actions.ml | 4 +++-
2 files changed, 8 insertions(+), 41 deletions(-)
diff --git a/daemon/echo-daemon.c b/daemon/echo-daemon.c
index c805819..d566a9b 100644
--- a/daemon/echo-daemon.c
+++ b/daemon/echo-daemon.c
@@ -26,48 +26,13 @@
char *
do_echo_daemon (char *const *argv)
{
- char *out = NULL;
- size_t out_len = 0;
+ char *out;
- /* Iterate over argv entries until reaching the NULL terminator */
- while (*argv) {
- char add_space = 0;
-
- /* Store the end of current output */
- size_t out_end = out_len;
-
- /* Calculate the new output size */
- size_t arg_len = strlen(*argv);
- out_len += arg_len;
-
- /* We will prepend a space if this isn't the first argument added */
- if (NULL != out) {
- out_len++;
- add_space = 1;
- }
-
- /* Make the output buffer big enough for the string and its terminator */
- char *out_new = realloc (out, out_len + 1);
- if (NULL == out_new) {
- reply_with_perror ("realloc");
- free (out);
- return 0;
- }
- out = out_new;
-
- /* Prepend a space if required */
- if (add_space) {
- out[out_end++] = ' ';
- }
-
- /* Copy the argument to the output */
- memcpy(&out[out_end], *argv, arg_len);
-
- argv++;
+ out = join_strings (" ", argv);
+ if (out == NULL) {
+ reply_with_perror ("malloc");
+ return NULL;
}
- /* NULL terminate the output */
- out[out_len] = '\0';
-
return out;
}
diff --git a/generator/actions.ml b/generator/actions.ml
index 1a347e0..62291ca 100644
--- a/generator/actions.ml
+++ b/generator/actions.ml
@@ -7178,7 +7178,9 @@ was built (see C<appliance/kmod.whitelist.in> in the source)." };
proc_nr = Some 195;
tests = [
InitNone, Always, TestResultString (
- [["echo_daemon"; "This is a test"]], "This is a test"), []
+ [["echo_daemon"; "This is a test"]], "This is a test"), [];
+ InitNone, Always, TestResultString (
+ [["echo_daemon"; ""]], ""), [];
];
shortdesc = "echo arguments back to the client";
longdesc = "\
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-libvirt/libguestfs.git
More information about the Pkg-libvirt-commits
mailing list