diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | win32/win32.c | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Tue Mar 11 16:43:53 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * win32/win32.c (rb_w32_cmdvector): terminate shrunken command line. + Tue Mar 11 12:39:03 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * common.mk (clean-local): removes MINOBJS. diff --git a/win32/win32.c b/win32/win32.c index b602a49116..391d3a5ffa 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -1424,9 +1424,10 @@ rb_w32_cmdvector(const char *cmd, char ***vec) ptr = buffer + (elements+1) * sizeof(char *); while (curr = cmdhead) { - memcpy(ptr, curr->str, curr->len + 1); + memcpy(ptr, curr->str, curr->len); *vptr++ = ptr; - ptr += curr->len + 1; + ptr += curr->len; + *ptr++ = '\0'; cmdhead = curr->next; if (curr->flags & NTMALLOC) free(curr->str); free(curr); |