aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/gpg-card.c12
-rw-r--r--tools/mime-parser.c23
-rw-r--r--tools/wks-util.c15
3 files changed, 24 insertions, 26 deletions
diff --git a/tools/gpg-card.c b/tools/gpg-card.c
index 4002cc185..12b4be25f 100644
--- a/tools/gpg-card.c
+++ b/tools/gpg-card.c
@@ -2080,13 +2080,15 @@ cmd_writecert (card_info_t info, char *argstr)
&& ascii_memistr (data, datalen, "-----END CERTIFICATE-----")
&& !memchr (data, 0, datalen) && !memchr (data, 1, datalen))
{
- struct b64state b64;
+ gpgrt_b64state_t b64;
- err = b64dec_start (&b64, "");
- if (!err)
- err = b64dec_proc (&b64, data, datalen, &datalen);
+ b64 = gpgrt_b64dec_start ("");
+ if (!b64)
+ err = gpg_error_from_syserror ();
+ else
+ err = gpgrt_b64dec_proc (b64, data, datalen, &datalen);
if (!err)
- err = b64dec_finish (&b64);
+ err = gpgrt_b64dec_finish (b64);
if (err)
goto leave;
}
diff --git a/tools/mime-parser.c b/tools/mime-parser.c
index 0db1a9c23..31f766ca5 100644
--- a/tools/mime-parser.c
+++ b/tools/mime-parser.c
@@ -93,7 +93,7 @@ struct mime_parser_context_s
unsigned int boundary : 1;
} show;
- struct b64state *b64state; /* NULL or malloced Base64 decoder state. */
+ gpgrt_b64state_t b64state; /* NULL or malloced Base64 decoder state. */
/* A buffer for reading a mail line, */
char line[5000];
@@ -410,15 +410,11 @@ parse_message_cb (void *opaque, rfc822parse_event_t event, rfc822parse_t msg)
{
ctx->decode_part = 2;
if (ctx->b64state)
- b64dec_finish (ctx->b64state); /* Reuse state. */
- else
- {
- ctx->b64state = xtrymalloc (sizeof *ctx->b64state);
- if (!ctx->b64state)
- rc = gpg_error_from_syserror ();
- }
- if (!rc)
- rc = b64dec_start (ctx->b64state, NULL);
+ gpgrt_b64dec_finish (ctx->b64state); /* Release. */
+
+ ctx->b64state = gpgrt_b64dec_start (NULL);
+ if (!ctx->b64state)
+ rc = gpg_error_from_syserror ();
}
free (value); /* Right, we need a plain free. */
}
@@ -528,10 +524,7 @@ mime_parser_release (mime_parser_t ctx)
return;
if (ctx->b64state)
- {
- b64dec_finish (ctx->b64state);
- xfree (ctx->b64state);
- }
+ gpgrt_b64dec_finish (ctx->b64state);
xfree (ctx);
}
@@ -661,7 +654,7 @@ process_part_data (mime_parser_t ctx, char *line, size_t *length)
else if (ctx->decode_part == 2)
{
log_assert (ctx->b64state);
- err = b64dec_proc (ctx->b64state, line, *length, &nbytes);
+ err = gpgrt_b64dec_proc (ctx->b64state, line, *length, &nbytes);
if (err)
return err;
*length = nbytes;
diff --git a/tools/wks-util.c b/tools/wks-util.c
index ee1305b00..49dbb6f8a 100644
--- a/tools/wks-util.c
+++ b/tools/wks-util.c
@@ -598,7 +598,7 @@ wks_armor_key (estream_t *r_newkey, estream_t key, const char *prefix)
{
gpg_error_t err;
estream_t newkey;
- struct b64state b64state;
+ gpgrt_b64state_t b64state;
char buffer[4096];
size_t nread;
@@ -614,16 +614,19 @@ wks_armor_key (estream_t *r_newkey, estream_t key, const char *prefix)
if (prefix)
es_fputs (prefix, newkey);
- err = b64enc_start_es (&b64state, newkey, "PGP PUBLIC KEY BLOCK");
- if (err)
- goto leave;
+ b64state = gpgrt_b64enc_start (newkey, "PGP PUBLIC KEY BLOCK");
+ if (!b64state)
+ {
+ err = gpg_error_from_syserror ();
+ goto leave;
+ }
do
{
nread = es_fread (buffer, 1, sizeof buffer, key);
if (!nread)
break;
- err = b64enc_write (&b64state, buffer, nread);
+ err = gpgrt_b64enc_write (b64state, buffer, nread);
if (err)
goto leave;
}
@@ -634,7 +637,7 @@ wks_armor_key (estream_t *r_newkey, estream_t key, const char *prefix)
goto leave;
}
- err = b64enc_finish (&b64state);
+ err = gpgrt_b64enc_finish (b64state);
if (err)
goto leave;