From c78a92659a1ae097bd92947aeb68efd88e26d3e4 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Sat, 15 Mar 2003 23:23:24 +0000 Subject: Bugfix. Thanks Wojciech for noticing! --- mh/mh_ctx.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mh/mh_ctx.c b/mh/mh_ctx.c index 2f1d60795..9d2eb0a84 100644 --- a/mh/mh_ctx.c +++ b/mh/mh_ctx.c @@ -48,6 +48,9 @@ mh_context_read (mh_context_t *ctx) struct stat st; FILE *fp; + if (!ctx) + return EINVAL; + if (stat (ctx->name, &st)) return errno; @@ -79,6 +82,9 @@ mh_context_write (mh_context_t *ctx) size_t off = 0, n; FILE *fp; + if (!ctx) + return EINVAL; + fp = fopen (ctx->name, "w"); if (!fp) { @@ -117,7 +123,7 @@ mh_context_get_value (mh_context_t *ctx, const char *name, const char *defval) { char *p; - if (header_aget_value (ctx->header, name, &p)) + if (!ctx || header_aget_value (ctx->header, name, &p)) p = (char *) defval; return p; } @@ -125,6 +131,8 @@ mh_context_get_value (mh_context_t *ctx, const char *name, const char *defval) int mh_context_set_value (mh_context_t *ctx, const char *name, const char *value) { + if (!ctx) + return EINVAL; if (!ctx->header) { int rc; @@ -145,6 +153,8 @@ mh_context_iterate (mh_context_t *ctx, mh_context_iterator fp, void *data) size_t i, nfields; int rc = 0; + if (!ctx) + return EINVAL; header_get_field_count (ctx->header, &nfields); for (i = 1; i <= nfields && rc == 0; i++) { -- cgit v1.2.1