Fix situation where the buffer was not properly null-terminated. --- commit 62f7819792e7152ae0dc241ed2f7e05e10c0d345 tree 865683d54a0c4d7604711d6b74233f79291eb8ac parent acfadcfb48e34fdc441e9cffbb385fce9693b363 author Peter Anvin Fri, 23 Sep 2005 16:22:33 -0700 committer Peter Anvin Fri, 23 Sep 2005 16:22:33 -0700 rsh.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rsh.c b/rsh.c --- a/rsh.c +++ b/rsh.c @@ -53,6 +53,7 @@ static int add_to_string(char **ptrp, in char *p = *ptrp; int size = *sizep; int oc; + int err = 0; if ( quote ) { oc = shell_quote(p, size, str); @@ -62,15 +63,14 @@ static int add_to_string(char **ptrp, in } if ( oc >= size ) { - p[size-1] = '\0'; - *ptrp += size-1; - *sizep = 1; - return 1; /* Overflow, string unusable */ + err = 1; + oc = size-1; } *ptrp += oc; + **ptrp = '\0'; *sizep -= oc; - return 0; + return err; } int setup_connection(int *fd_in, int *fd_out, const char *remote_prog,