aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2006-12-20 22:52:14 +0000
committerMarcus Brinkmann <[email protected]>2006-12-20 22:52:14 +0000
commitbe2c54dd948fdad2fd8d40cbc84f64a0857deed0 (patch)
tree174afef2117ec8138371e46f930bb7d14a002a2d
parent2006-12-18 Marcus Brinkmann <[email protected]> (diff)
downloadgnupg-be2c54dd948fdad2fd8d40cbc84f64a0857deed0.tar.gz
gnupg-be2c54dd948fdad2fd8d40cbc84f64a0857deed0.zip
2006-12-20 Marcus Brinkmann <[email protected]>
* base64.c: Add new members READER and WRITER in union U2. (gpgsm_create_reader): Initialise CTX->u2.reader. (gpgsm_destroy_reader): Invoke ksba_reader_release. Return early if CTX is NULL. (gpgsm_create_writer): Initialise CTX->u2.writer. (gpgsm_destroy_writer): Invoke ksba_writer_release. Return early if CTX is NULL.
-rw-r--r--sm/ChangeLog10
-rw-r--r--sm/base64.c15
2 files changed, 25 insertions, 0 deletions
diff --git a/sm/ChangeLog b/sm/ChangeLog
index 94d81d444..b5e5ba264 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,13 @@
+2006-12-20 Marcus Brinkmann <[email protected]>
+
+ * base64.c: Add new members READER and WRITER in union U2.
+ (gpgsm_create_reader): Initialise CTX->u2.reader.
+ (gpgsm_destroy_reader): Invoke ksba_reader_release. Return early
+ if CTX is NULL.
+ (gpgsm_create_writer): Initialise CTX->u2.writer.
+ (gpgsm_destroy_writer): Invoke ksba_writer_release. Return early
+ if CTX is NULL.
+
2006-12-18 Marcus Brinkmann <[email protected]>
* fingerprint.c (gpgsm_get_fingerprint): Close MD.
diff --git a/sm/base64.c b/sm/base64.c
index 37ec9ce35..0c3ebd150 100644
--- a/sm/base64.c
+++ b/sm/base64.c
@@ -92,6 +92,11 @@ struct base64_context_s {
struct reader_cb_parm_s rparm;
struct writer_cb_parm_s wparm;
} u;
+
+ union {
+ ksba_reader_t reader;
+ ksba_writer_t writer;
+ } u2;
};
@@ -568,6 +573,7 @@ gpgsm_create_reader (Base64Context *ctx,
return rc;
}
+ (*ctx)->u2.reader = r;
*r_reader = r;
return 0;
}
@@ -582,6 +588,10 @@ gpgsm_reader_eof_seen (Base64Context ctx)
void
gpgsm_destroy_reader (Base64Context ctx)
{
+ if (!ctx)
+ return;
+
+ ksba_reader_release (ctx->u2.reader);
xfree (ctx);
}
@@ -630,6 +640,7 @@ gpgsm_create_writer (Base64Context *ctx,
return rc;
}
+ (*ctx)->u2.writer = w;
*r_writer = w;
return 0;
}
@@ -654,5 +665,9 @@ gpgsm_finish_writer (Base64Context ctx)
void
gpgsm_destroy_writer (Base64Context ctx)
{
+ if (!ctx)
+ return;
+
+ ksba_writer_release (ctx->u2.writer);
xfree (ctx);
}