Re: [PATCH] Fix set_work_tree on cygwin
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Aug 2, 2007, 20:49 UTC
- Message-ID
- <20070802204909.GA2829@steel.home>
- In-Reply-To
- <Pine.LNX.4.64.0708021636470.14781@racer.site>
Johannes Schindelin, Thu, Aug 02, 2007 17:38:37 +0200:
Show 19 quoted lines
> Hi,
>
> On Thu, 2 Aug 2007, Alex Riesen wrote:
>
> >@@ -209,7 +209,8 @@ const char *set_work_tree(const char *dir)
> > len = strlen(dir);
> > if (len > postfix_len && !strcmp(dir + len - postfix_len,
> > "/" DEFAULT_GIT_DIR_ENVIRONMENT)) {
> >- strncpy(dir_buffer, dir, len - postfix_len);
> >+ strncpy(dir_buffer, dir, len - postfix_len);
> >+ dir_buffer[len - postfix_len] = '\0';
> >
> > /* are we inside the default work tree? */
> > rel = get_relative_cwd(buffer, sizeof(buffer), dir_buffer);
>
> Darn, darn, darn. strncpy does _not_ NUL terminate. I keep forgetting
> that.
>
> Better use strlcpy()?Of course, but it just should not be needed at all: static supposed to be zeroed.