List for cgit developers and users
 help / color / mirror / Atom feed
* [PATCH 0/3] Fix segfault found by AFL
@ 2017-02-19 12:44 john
  2017-02-19 12:44 ` [PATCH 1/3] ui-shared: don't print path crumbs without a repo john
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: john @ 2017-02-19 12:44 UTC (permalink / raw)


I set AFL [0] loose on CGit's URL input yesterday and it managed to find
one issue that leads to a segfault via a null dereference.

Either of the first or third patches fixes the segfault, but I much
prefer the first as a solid fix, the third is a bit too subtle as a way
to ensure that the necessary invariant holds.

The second patch also fixes the route that AFL found, but it's possible
to get the same effect using broken out query parameters like
"?p=log&path=foo" but I'm including it because it seems to make sense to
use the value of the final "url" parameter we receive fully rather than
some combination of that and a previous URL.

[0] http://lcamtuf.coredump.cx/afl/

John Keeping (3):
  ui-shared: don't print path crumbs without a repo
  parsing: clear query path before starting
  cgit: don't set vpath unless repo is set

 cgit.c      | 12 ++++++------
 parsing.c   |  2 +-
 ui-shared.c |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

-- 
2.12.0.rc2.230.ga28edc07cd



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-02-20  1:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-19 12:44 [PATCH 0/3] Fix segfault found by AFL john
2017-02-19 12:44 ` [PATCH 1/3] ui-shared: don't print path crumbs without a repo john
2017-02-19 12:45 ` [PATCH 2/3] parsing: clear query path before starting john
2017-02-19 12:45 ` [PATCH 3/3] cgit: don't set vpath unless repo is set john
     [not found] ` <CAHmME9r8zY9qOqbg7fwuB1gW76nXVcsqJ-LT2-6sjD3SuoJ-HQ@mail.gmail.com>
2017-02-19 19:04   ` [PATCH 0/3] Fix segfault found by AFL Jason
2017-02-20  1:48     ` peter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).