[PATCH 1/7] imap-send: avoid buffer overflow
- From
Jeff King <peff@peff.net>
- Date
- Dec 8, 2011, 08:23 UTC
- Message-ID
- <20111208082317.GA26409@sigill.intra.peff.net>
- In-Reply-To
- <20111208082118.GA1507@sigill.intra.peff.net>
We format the password prompt in an 80-character static buffer. It contains the remote host and username, so it's unlikely to overflow (or be exploitable by a remote attacker), but there's no reason not to be careful and use a strbuf.
Signed-off-by: Jeff King <peff@peff.net> --- Just something I noticed while doing the cleanup in the next patch.
imap-send.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/imap-send.c b/imap-send.c index e1ad1a4..4c1e897 100644 --- a/imap-send.c +++ b/imap-send.c @@ -1209,9 +1209,10 @@ static int auth_cram_md5(struct imap_store *ctx, struct imap_cmd *cmd, const cha goto bail; } if (!srvc->pass) { - char prompt[80]; - sprintf(prompt, "Password (%s@%s): ", srvc->user, srvc->host); - arg = git_getpass(prompt); + struct strbuf prompt = STRBUF_INIT; + strbuf_addf(&prompt, "Password (%s@%s): ", srvc->user, srvc->host); + arg = git_getpass(prompt.buf); + strbuf_release(&prompt); if (!arg) { perror("getpass"); exit(1);
-- 1.7.8.rc2.8.gf0f4f