verify_signed_buffer: prefer close_tempfile() to close()
authorJeff King <peff@peff.net>
Tue, 5 Sep 2017 12:14:23 +0000 (08:14 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Sep 2017 08:19:52 +0000 (17:19 +0900)
We do a manual close() on the descriptor provided to us by
mks_tempfile. But this runs contrary to the advice in
tempfile.h, which notes that you should always use
close_tempfile(). Otherwise the descriptor may be reused
without the tempfile object knowing it, and the later call
to delete_tempfile() could close a random descriptor.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gpg-interface.c
index d936f3a32fe5d38c2b41ae0488ac2c02250a1618..455b6c04b4dde644844126ab77db8b2d7b070a54 100644 (file)
@@ -215,7 +215,7 @@ int verify_signed_buffer(const char *payload, size_t payload_size,
                delete_tempfile(&temp);
                return -1;
        }
-       close(fd);
+       close_tempfile(&temp);
 
        argv_array_pushl(&gpg.args,
                         gpg_program,