X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-crypt%2Fcrypt-gpgme.c;h=72dd3ab22d39ff087c323b81c7f7589f63418f70;hp=906e56e053d560ea48bae4041bc4fd8bae2fdc93;hb=0ff1c0b36260c231b7d63ffc88646505e0ea11de;hpb=8a2967d883cee12f0de4c0cdf0cd594ea96e622b diff --git a/lib-crypt/crypt-gpgme.c b/lib-crypt/crypt-gpgme.c index 906e56e..72dd3ab 100644 --- a/lib-crypt/crypt-gpgme.c +++ b/lib-crypt/crypt-gpgme.c @@ -1012,7 +1012,7 @@ static void show_fingerprint (gpgme_key_t key, STATE * state) is_pgp = (key->protocol == GPGME_PROTOCOL_OpenPGP); bufsize = m_strlen(prefix) + m_strlen(s) * 4 + 2; - buf = xmalloc(bufsize); + buf = p_new(char, bufsize); m_strcpy(buf, bufsize, prefix); p = buf + m_strlen(buf); if (is_pgp && m_strlen(s) == 40) { /* PGP v4 style formatted. */ @@ -1614,6 +1614,7 @@ static int pgp_check_traditional_one_body (FILE * fp, BODY * b, char tempfile[_POSIX_PATH_MAX]; char buf[HUGE_STRING]; FILE *tfp; + int tempfd; short sgn = 0; short enc = 0; @@ -1624,13 +1625,13 @@ static int pgp_check_traditional_one_body (FILE * fp, BODY * b, 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; } - if ((tfp = fopen (tempfile, "r")) == NULL) { + if ((tfp = fdopen (tempfd, "r")) == NULL) { unlink (tempfile); return 0; } @@ -2309,7 +2310,7 @@ crypt_entry_fmt (char *dest, ssize_t destlen, char op, } if (flags & M_FORMAT_OPTIONAL) - m_strformat(dest, destlen, optional ? ifstr: elstr, + m_strformat(dest, destlen, 0, optional ? ifstr: elstr, mutt_attach_fmt, data, 0); return src; } @@ -2323,7 +2324,7 @@ static void crypt_entry (char *s, ssize_t l, MUTTMENU * menu, int num) entry.key = key_table[num]; entry.num = num + 1; - m_strformat(s, l, PgpEntryFormat, crypt_entry_fmt, &entry, + m_strformat(s, l, COLS - SW, PgpEntryFormat, crypt_entry_fmt, &entry, option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 0); } @@ -2516,7 +2517,7 @@ static const unsigned char *parse_dn_part (struct dn_array_s *array, if (!n || (n & 1)) return NULL; /* empty or odd number of digits */ n /= 2; - p = xmalloc(n + 1); + p = p_new(unsigned char, n + 1); array->value = (char *) p; for (s1 = string; n; s1 += 2, n--) *p++ = xtoi_2 (s1); @@ -2546,7 +2547,7 @@ static const unsigned char *parse_dn_part (struct dn_array_s *array, n++; } - p = xmalloc(n + 1); + p = p_new(unsigned char, n + 1); array->value = (char *) p; for (s = string; n; s++, n--) { if (*s == '\\') {