All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marat Radchenko <marat@slonopotamus.org>
To: git@vger.kernel.org
Cc: Marat Radchenko <marat@slonopotamus.org>,
	Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v3] MSVC: fix t0040-parse-options crash
Date: Sun, 30 Mar 2014 00:09:22 +0400	[thread overview]
Message-ID: <1396123762-28673-1-git-send-email-marat@slonopotamus.org> (raw)
In-Reply-To: <1396008298-1434-1-git-send-email-marat@slonopotamus.org>

On 64-bit MSVC, pointers are 64 bit but `long` is only 32.
Thus, casting string to `unsigned long`, which is redundand on other
platforms, throws away important bits and when later cast to `intptr_t`
results in corrupt pointer.

This patch fixes test-parse-options by replacing harming cast with
correct one.

Signed-off-by: Marat Radchenko <marat@slonopotamus.org>
---

Aargh! Didn't notice that V2 introduced compilation warning. Take three.

 test-parse-options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-parse-options.c b/test-parse-options.c
index 434e8b8..6f6c656 100644
--- a/test-parse-options.c
+++ b/test-parse-options.c
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
 		OPT_STRING('o', NULL, &string, "str", "get another string"),
 		OPT_NOOP_NOARG(0, "obsolete"),
 		OPT_SET_PTR(0, "default-string", &string,
-			"set string to default", (unsigned long)"default"),
+			"set string to default", (intptr_t)"default"),
 		OPT_STRING_LIST(0, "list", &list, "str", "add str to list"),
 		OPT_GROUP("Magic arguments"),
 		OPT_ARGUMENT("quux", "means --quux"),
-- 
1.9.0

  parent reply	other threads:[~2014-03-29 20:09 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-28 12:04 [PATCH] MSVC: fix t0040-parse-options Marat Radchenko
2014-03-28 18:19 ` Junio C Hamano
2014-03-29 19:59   ` [PATCH v2] MSVC: fix t0040-parse-options crash Marat Radchenko
2014-03-29 20:09 ` Marat Radchenko [this message]
2014-03-29 21:34   ` [PATCH v3] " Andreas Schwab
2014-03-29 22:17     ` René Scharfe
2014-03-30  2:01   ` Junio C Hamano
2014-03-30  8:29     ` Andreas Schwab
2014-03-31 21:09       ` Jeff King
2014-03-30 11:08     ` [PATCH v4 0/3] Take four on fixing OPT_SET_PTR issues Marat Radchenko
2014-03-31 17:23       ` Junio C Hamano
2014-03-31 21:07         ` Jeff King
2014-03-31 22:54           ` Junio C Hamano
2014-03-30 11:08     ` [PATCH v4 1/3] MSVC: fix t0040-parse-options crash Marat Radchenko
2014-03-30 11:08     ` [PATCH v4 2/3] parse-options: add cast to correct pointer type to OPT_SET_PTR Marat Radchenko
2014-03-31 17:16       ` Junio C Hamano
2014-03-30 11:08     ` [PATCH v4 3/3] parse-options: remove unused OPT_SET_PTR Marat Radchenko

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=1396123762-28673-1-git-send-email-marat@slonopotamus.org \
    --to=marat@slonopotamus.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.