summaryrefslogtreecommitdiff
path: root/pith
diff options
context:
space:
mode:
Diffstat (limited to 'pith')
-rw-r--r--pith/pine.hlp7
-rw-r--r--pith/smkeys.c12
2 files changed, 11 insertions, 8 deletions
diff --git a/pith/pine.hlp b/pith/pine.hlp
index fb60ae0b..64216fcb 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any
reasonable place to be called from.
Dummy change to get revision in pine.hlp
============= h_revision =================
-Alpine Commit 111 2015-11-15 19:07:10
+Alpine Commit 112 2015-11-18 09:02:07
============= h_news =================
<HTML>
<HEAD>
@@ -203,7 +203,7 @@ Additions include:
signed/decrypted add the ability to view its SMIME information.
<LI> SMIME: Certificate information in the S/MIME screen is available
- for certificates stored in a cotainer.
+ for certificates stored in a container.
<LI> SMIME: Offer the common name of the person, instead of the name of
file containing the certificate, as the name to be displayed in the
@@ -317,6 +317,9 @@ Bugs that have been addressed include:
<LI> SMIME: Crash if public certificates are located in an inaccessible
remote server and the private key is not available.
+ <LI> SMIME: Alpine does not remove remporary files created when adding a
+ CA certificate to a container. Reported by Holger Trapp.
+
<LI> Pico: Searching for a string that is too long causes Pico to crash
in the next search.
diff --git a/pith/smkeys.c b/pith/smkeys.c
index 17357378..c5c24bcb 100644
--- a/pith/smkeys.c
+++ b/pith/smkeys.c
@@ -1205,11 +1205,8 @@ mem_add_extra_cacerts(char *contents, X509_LOOKUP *lookup)
in = BIO_new_mem_buf(certtext, q-certtext);
if(in){
tempfile = temp_nam(NULL, "az");
- out = NULL;
- if(tempfile)
- out = BIO_new_file(tempfile, "w");
-
- if(out){
+ out = tempfile != NULL ? BIO_new_file(tempfile, "w") : NULL;
+ if(out != NULL){
while((len = BIO_read(in, iobuf, sizeof(iobuf))) > 0)
BIO_write(out, iobuf, len);
@@ -1217,7 +1214,10 @@ mem_add_extra_cacerts(char *contents, X509_LOOKUP *lookup)
if(!X509_LOOKUP_load_file(lookup, tempfile, X509_FILETYPE_PEM))
failed++;
- fs_give((void **) &tempfile);
+ }
+ if(tempfile != NULL){
+ unlink(tempfile);
+ fs_give((void **) &tempfile);
}
BIO_free(in);