From 883cfa1586cb594190775bdd18d3b16249e37e30 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 25 Aug 2006 20:50:47 +0000 Subject: [PATCH] trim trailing whitespace in proc_args --- src/os/darwin/darwin_sigar.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/os/darwin/darwin_sigar.c b/src/os/darwin/darwin_sigar.c index bfd397d6..3b72afae 100644 --- a/src/os/darwin/darwin_sigar.c +++ b/src/os/darwin/darwin_sigar.c @@ -992,11 +992,24 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid, sigar_proc_args_create(procargs); while ((ptr < end) && (count-- > 0)) { - int alen = strlen(ptr)+1; - char *arg = malloc(alen); + int slen = strlen(ptr); + int alen = slen+1; + char *arg; + + /* + * trim trailing whitespace. + * seen w/ postgresql, probably related + * to messing with argv[0] + */ + while (*(ptr + (slen-1)) == ' ') { + --slen; + } + + arg = malloc(slen+1); SIGAR_PROC_ARGS_GROW(procargs); - memcpy(arg, ptr, alen); + memcpy(arg, ptr, slen); + *(arg+slen) = '\0'; procargs->data[procargs->number++] = arg;