projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use file descriptor instead of path for mutt_decode_save_attachment()
[apps/madmutt.git]
/
lib-crypt
/
pgp.c
diff --git
a/lib-crypt/pgp.c
b/lib-crypt/pgp.c
index
3c3e0f7
..
3dd37d5
100644
(file)
--- a/
lib-crypt/pgp.c
+++ b/
lib-crypt/pgp.c
@@
-454,6
+454,7
@@
static int pgp_check_traditional_one_body (FILE * fp, BODY * b,
char tempfile[_POSIX_PATH_MAX];
char buf[HUGE_STRING];
FILE *tfp;
char tempfile[_POSIX_PATH_MAX];
char buf[HUGE_STRING];
FILE *tfp;
+ int tempfd;
short sgn = 0;
short enc = 0;
short sgn = 0;
short enc = 0;
@@
-465,13
+466,14
@@
static int pgp_check_traditional_one_body (FILE * fp, BODY * b,
if (tagged_only && !b->tagged)
return 0;
if (tagged_only && !b->tagged)
return 0;
- mutt_mktemp (tempfile);
- if (mutt_decode_save_attachment (fp, b, tempfile, 0, 0) != 0) {
+ tempfd = m_tempfd(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+
+ if (mutt_decode_save_attachment (fp, b, tempfd, 0) != 0) {
unlink (tempfile);
return 0;
}
unlink (tempfile);
return 0;
}
- if ((tfp = f
open (tempfile
, "r")) == NULL) {
+ if ((tfp = f
dopen (tempfd
, "r")) == NULL) {
unlink (tempfile);
return 0;
}
unlink (tempfile);
return 0;
}
@@
-695,7
+697,7
@@
BODY *pgp_decrypt_part (BODY * a, STATE * s, FILE * fpout, BODY * p)
while (fgets (buf, sizeof (buf) - 1, pgpout) != NULL) {
len = m_strlen(buf);
if (len > 1 && buf[len - 2] == '\r')
while (fgets (buf, sizeof (buf) - 1, pgpout) != NULL) {
len = m_strlen(buf);
if (len > 1 && buf[len - 2] == '\r')
- strcpy (buf + len - 2, "\n"); /* __STRCPY_CHECKED__ */
+ m_strcpy(buf + len - 2, len - 2, "\n");
fputs (buf, fpout);
}
fputs (buf, fpout);
}
@@
-1022,8
+1024,7
@@
char *pgp_findKeys (address_t * to, address_t * cc, address_t * bcc)
last = &((*last)->next);
}
last = &((*last)->next);
}
- if (fqdn)
- rfc822_qualify (tmp, fqdn);
+ rfc822_qualify (tmp, fqdn);
address_list_uniq(tmp);
address_list_uniq(tmp);
@@
-1048,8
+1049,7
@@
char *pgp_findKeys (address_t * to, address_t * cc, address_t * bcc)
/* check for e-mail address */
if ((t = strchr (keyID, '@')) &&
(addr = rfc822_parse_adrlist (NULL, keyID))) {
/* check for e-mail address */
if ((t = strchr (keyID, '@')) &&
(addr = rfc822_parse_adrlist (NULL, keyID))) {
- if (fqdn)
- rfc822_qualify (addr, fqdn);
+ rfc822_qualify (addr, fqdn);
q = addr;
}
else
q = addr;
}
else
@@
-1087,7
+1087,7
@@
char *pgp_findKeys (address_t * to, address_t * cc, address_t * bcc)
bypass_selection:
keylist_size += m_strlen(keyID) + 4;
p_realloc(&keylist, keylist_size);
bypass_selection:
keylist_size += m_strlen(keyID) + 4;
p_realloc(&keylist, keylist_size);
- sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "",
/* __SPRINTF_CHECKED__ */
+ sprintf (keylist + keylist_used, "%s0x%s", keylist_used ? " " : "",
keyID);
keylist_used = m_strlen(keylist);
keyID);
keylist_used = m_strlen(keylist);
@@
-1388,7
+1388,7
@@
BODY *pgp_traditional_encryptsign (BODY * a, int flags, char *keylist)
int pgp_send_menu (HEADER * msg, int *redraw)
{
pgp_key_t p;
int pgp_send_menu (HEADER * msg, int *redraw)
{
pgp_key_t p;
- char input_signas[S
HORT_S
TRING];
+ char input_signas[STRING];
char prompt[LONG_STRING];
char prompt[LONG_STRING];