From 0def7b6860decf7bd725a962c2dbc3ebc2ac418c Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Mon, 20 May 2019 16:52:00 -0400 Subject: [PATCH] configure: handle TEMP_GPG more robustly We never want ./configure to try to do something with an unassigned variable. So, make the directory $TEMP_GPG at the start of the testing of session-key handling, and clean it up afterwards as long as the directory exists. Signed-off-by: Daniel Kahn Gillmor --- configure | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/configure b/configure index f7d37e50..474513a0 100755 --- a/configure +++ b/configure @@ -529,8 +529,10 @@ int main () { return 0; } EOF - if ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags} _check_session_keys.c -o _check_session_keys \ - && TEMP_GPG=$(mktemp -d) \ + if ! TEMP_GPG=$(mktemp -d); then + printf 'No.\nCould not make tempdir for testing session-key support.\n' + errors=$((errors + 1)) + elif ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags} _check_session_keys.c -o _check_session_keys \ && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \ && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \ && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ] @@ -552,9 +554,11 @@ EOF else printf 'You do not have the GPGME development libraries installed.\n' fi - rm -rf "$TEMP_GPG" errors=$((errors + 1)) fi + if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then + rm -rf "$TEMP_GPG" + fi else have_gmime=0 printf "No.\n"