Re: [BUG] git-check-ignore: Segmentation fault

2013-02-19 Thread Adam Spiers
On Tue, Feb 19, 2013 at 5:24 AM, Zoltan Klinger
zoltan.klin...@gmail.com wrote:
 Hi there,

 The new git-check-ignore command seg faults when
 (1) it is called with single dot path name at $GIT_DIR level  _AND_
 (2) and .gitignore has at least one directory pattern.

 Git version: 1.8.2.rc0.16.g20a599e

 Reproduce the bug:
 $ git --version
 git version 1.8.2.rc0.16.g20a599e
 $ mkdir test
 $ cd test
 $ git init
 $ git check-ignore .  # All good, no errors here
 $ echo dirpattern/  .gitignore
 $ git check-ignore .
 Segmentation fault (core dumped)

 The segmentation fault is actually caused by hash_name(const char
 *name, int namelen) function in name-hash.c when the 'name' argument
 is an empty stringi and namelen is 0.

 The empty string comes from a call to the prefix_path(prefix, len,
 path) function in setup.c. In this instance arguments 'prefix' is
 NULL, 'len' is 0 and 'path' is . .

Good catch!  Thanks for the very helpful bug report.  I can reproduce
this, and have a fix - see follow-up mail to follow shortly.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[BUG] git-check-ignore: Segmentation fault

2013-02-18 Thread Zoltan Klinger
Hi there,

The new git-check-ignore command seg faults when
(1) it is called with single dot path name at $GIT_DIR level  _AND_
(2) and .gitignore has at least one directory pattern.

Git version: 1.8.2.rc0.16.g20a599e

Reproduce the bug:
$ git --version
git version 1.8.2.rc0.16.g20a599e
$ mkdir test
$ cd test
$ git init
$ git check-ignore .  # All good, no errors here
$ echo dirpattern/  .gitignore
$ git check-ignore .
Segmentation fault (core dumped)

The segmentation fault is actually caused by hash_name(const char
*name, int namelen) function in name-hash.c when the 'name' argument
is an empty stringi and namelen is 0.

The empty string comes from a call to the prefix_path(prefix, len,
path) function in setup.c. In this instance arguments 'prefix' is
NULL, 'len' is 0 and 'path' is . .

Cheers,
Zoltan
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html