On Wed, 01 Oct 2014 20:59:09 +0200 Steffen Kaiser
<skreport...@mail.inf.h-brs.de> wrote:

Looks like udpc_parseCommand(config->pipeName, arg); destroys
config->pipeNameat the first space (overwrites with '\0'), hence, next
time the function sees the first token only.

Following patch proves this assumption. After is is applied, upd-sender
works as expected.

-- udpcast-20100130.orig/sender-diskio.c
+++ udpcast-20100130/sender-diskio.c
@@ -54,8 +54,12 @@ int openPipe(struct disk_config *config,
        /* pipe */
        char *arg[256];
        int filedes[2];
+       char *save = strdup(config->pipeName);

-       udpc_parseCommand(config->pipeName, arg);
+       if(!save)
+               udpc_fatal(-1, "Out of memory!");
+
+       udpc_parseCommand(save, arg);

        if(pipe(filedes) < 0) {
            perror("pipe");
@@ -68,6 +72,7 @@ int openPipe(struct disk_config *config,
        *pidp=open2(in, filedes[1], arg, filedes[0]);
        close(filedes[1]);
        in = filedes[0];
+       free(save);
     }
     return in;
 }

-- 

Kind regards, Steffen


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to