# [PATCH] Fix gitmkdtemp: correct test for mktemp() return value

3 messages from 2010-02-25 to 2010-02-25. Participants: Filippo Negroni, Junio C Hamano, Matthieu Moy.
Thread: https://gitlist.dev/t/22818

## Filippo Negroni, 2010-02-25 10:01

Subject: [PATCH] Fix gitmkdtemp: correct test for mktemp() return value
Message-ID: <4B864A7B.9000500@flexerasoftware.com>
URL: https://gitlist.dev/e/4B864A7B.9000500%40flexerasoftware.com

```
>From 5e3b362cdd86150de901312c01beac9596b7e2ba Mon Sep 17 00:00:00 2001
From: Filippo Negroni <fnegroni@flexerasoftware.com>
Date: Thu, 25 Feb 2010 09:39:56 +0000
Subject: [PATCH] Fix gitmkdtemp: correct test for mktemp() return value

In gitmkdtemp, the return value of mktemp is not tested correctly.
mktemp() always returns its 'template' argument, even upon failre.
Upon failure, mktemp sets template to be an empty string: its first character is '\0'.
This patch ensures the return value of mktemp is correctly tested by dereferencing the pointer returned by it.

Signed-off-by: Filippo Negroni <fnegroni@flexerasoftware.com>
---
 compat/mkdtemp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/compat/mkdtemp.c b/compat/mkdtemp.c
index 34d4b49..1136119 100644
--- a/compat/mkdtemp.c
+++ b/compat/mkdtemp.c
@@ -2,7 +2,7 @@
 
 char *gitmkdtemp(char *template)
 {
-       if (!mktemp(template) || mkdir(template, 0700))
+       if (!*mktemp(template) || mkdir(template, 0700))
                return NULL;
        return template;
 }
-- 
1.6.4

```

## Junio C Hamano, 2010-02-25 17:33

Subject: Re: [PATCH] Fix gitmkdtemp: correct test for mktemp() return value
Message-ID: <7veik99q4q.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7veik99q4q.fsf%40alter.siamese.dyndns.org
In-Reply-To: <4B864A7B.9000500@flexerasoftware.com>

```
Filippo Negroni <fnegroni@flexerasoftware.com> writes:

> From 5e3b362cdd86150de901312c01beac9596b7e2ba Mon Sep 17 00:00:00 2001
> From: Filippo Negroni <fnegroni@flexerasoftware.com>
> Date: Thu, 25 Feb 2010 09:39:56 +0000
> Subject: [PATCH] Fix gitmkdtemp: correct test for mktemp() return value
>
> In gitmkdtemp, the return value of mktemp is not tested correctly.
> mktemp() always returns its 'template' argument, even upon failre.
> Upon failure, mktemp sets template to be an empty string: its first character is '\0'.
> This patch ensures the return value of mktemp is correctly tested by dereferencing the pointer returned by it.
>
> Signed-off-by: Filippo Negroni <fnegroni@flexerasoftware.com>
> ---

Thanks.

Next time please do not quote the mbox header lines (i.e. start your body
with "In gitmkdtemp, the return value ...".

```

## Matthieu Moy, 2010-02-25 18:05

Subject: Re: [PATCH] Fix gitmkdtemp: correct test for mktemp() return value
Message-ID: <vpqzl2xdwcl.fsf@bauges.imag.fr>
URL: https://gitlist.dev/e/vpqzl2xdwcl.fsf%40bauges.imag.fr
In-Reply-To: <7veik99q4q.fsf@alter.siamese.dyndns.org>

```
Junio C Hamano <gitster@pobox.com> writes:

> Next time please do not quote the mbox header lines (i.e. start your body
> with "In gitmkdtemp, the return value ...".

... or just use "git send-email", which does the trick for you.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

```
