From: Michael Haggerty <mhagger@alum.mit.edu>
To: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
Ramkumar Ramachandra <artagnon@gmail.com>,
Junio C Hamano <gitster@pobox.com>,
Git List <git@vger.kernel.org>
Subject: Re: [PATCH 0/3] avoiding unintended consequences of git_path() usage
Date: Wed, 16 Nov 2011 14:44:51 +0100 [thread overview]
Message-ID: <4EC3BE53.3020705@alum.mit.edu> (raw)
In-Reply-To: <CACsJy8A2=qBiyY3SD-PZo+E=U+Dfjm1UQidgq6khQARZ3d41WQ@mail.gmail.com>
On 11/16/2011 02:33 PM, Nguyen Thai Ngoc Duy wrote:
> 2011/11/16 Jonathan Nieder <jrnieder@gmail.com>:
>> Jokes aside, here's a rough series to do the git_path ->
>> git_path_unsafe renaming. While writing it, I noticed a couple of
>> bugs, hence the two patches before the last one. Patch 2 is the more
>> interesting one.
>
> Another approach is do nothing and leave it for a static analysis tool
> to detect potential problems. I'm looking at sparse at the moment,
> although I know nothing about it to say if it can or cannot detect
> such problems. We can at least make sparse detect return value from
> git_path() being passed to an unsafe function, I think.
For the cases when static analysis doesn't suffice, recently I posted
some patches that make it possible for debug a problem that results from
the use of a "stale" buffer [1]. But having myself also been bitten by
this problem, I'd also be in favor of a more systematic solution, even
if it has a small runtime cost. After all, most of the time the
filename created by git_path() is going to be passed to the kernel a
moment later, which will usually be vastly slower than an extra malloc/free.
Michael
[1] http://comments.gmane.org/gmane.comp.version-control.git/182209
--
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
next prev parent reply other threads:[~2011-11-16 13:45 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-05 16:29 [PATCH 0/5] Sequencer: working around historical mistakes Ramkumar Ramachandra
2011-11-05 16:29 ` [PATCH 1/5] sequencer: factor code out of revert builtin Ramkumar Ramachandra
2011-11-06 0:12 ` Jonathan Nieder
2011-11-13 10:40 ` Ramkumar Ramachandra
2011-11-13 23:10 ` Junio C Hamano
2011-11-15 9:00 ` Ramkumar Ramachandra
2011-11-15 9:18 ` Miles Bader
2011-11-15 9:47 ` Jonathan Nieder
2011-11-05 16:29 ` [PATCH 2/5] sequencer: remove CHERRY_PICK_HEAD with sequencer state Ramkumar Ramachandra
2011-11-06 0:15 ` Jonathan Nieder
2011-11-05 16:29 ` [PATCH 3/5] sequencer: sequencer state is useless without todo Ramkumar Ramachandra
2011-11-06 0:26 ` Jonathan Nieder
2011-11-13 10:44 ` Ramkumar Ramachandra
2011-11-13 20:50 ` Junio C Hamano
2011-11-15 9:13 ` Ramkumar Ramachandra
2011-11-15 9:52 ` Jonathan Nieder
2011-11-15 16:27 ` Junio C Hamano
2011-11-16 6:17 ` Ramkumar Ramachandra
2011-11-16 7:38 ` Junio C Hamano
2011-11-16 7:59 ` [PATCH 0/3] avoiding unintended consequences of git_path() usage Jonathan Nieder
2011-11-16 8:03 ` [PATCH 1/3] do not let git_path clobber errno when reporting errors Jonathan Nieder
2011-11-16 8:04 ` [PATCH 2/3] Bigfile: dynamically allocate buffer for marks file name Jonathan Nieder
2011-11-16 8:07 ` [PATCH 3/3] rename git_path() to git_path_unsafe() Jonathan Nieder
2011-11-17 1:20 ` Junio C Hamano
2011-11-17 7:03 ` Jonathan Nieder
2011-11-16 8:37 ` [PATCH 0/3] avoiding unintended consequences of git_path() usage Nguyen Thai Ngoc Duy
2011-11-16 8:42 ` Nguyen Thai Ngoc Duy
2011-11-16 8:59 ` Jonathan Nieder
2011-11-16 9:31 ` Nguyen Thai Ngoc Duy
2011-11-19 19:25 ` Ramsay Jones
2011-11-16 21:50 ` [PATCH/RFC] introduce strbuf_addpath() Jonathan Nieder
2011-11-18 1:42 ` Nguyen Thai Ngoc Duy
2011-11-16 22:04 ` [PATCH 0/3] avoiding unintended consequences of git_path() usage Junio C Hamano
2011-11-16 8:51 ` Ramkumar Ramachandra
2011-11-16 13:33 ` Nguyen Thai Ngoc Duy
2011-11-16 13:44 ` Michael Haggerty [this message]
2011-11-18 3:33 ` Nguyen Thai Ngoc Duy
2011-11-05 16:29 ` [PATCH 4/5] sequencer: handle single commit pick separately Ramkumar Ramachandra
2011-11-06 0:35 ` Jonathan Nieder
2011-11-05 16:29 ` [PATCH 5/5] sequencer: revert d3f4628e Ramkumar Ramachandra
2011-11-06 0:42 ` Jonathan Nieder
2011-11-06 19:10 ` Junio C Hamano
2011-11-07 6:06 ` Ramkumar Ramachandra
2011-11-12 16:13 ` Ramkumar Ramachandra
2011-11-12 22:40 ` Jonathan Nieder
2011-11-05 23:43 ` [PATCH 0/5] Sequencer: working around historical mistakes Jonathan Nieder
2011-11-13 10:42 ` Ramkumar Ramachandra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EC3BE53.3020705@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=artagnon@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.