From 8b9086e78998a83b3f1a2b362cecced00e408677 Mon Sep 17 00:00:00 2001 From: Marcel Poul Date: Tue, 14 Feb 2012 12:28:43 +0000 Subject: [PATCH] NULL as err_format parametr in set_error() --- emi.canl.canl-c/src/canl_err.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/emi.canl.canl-c/src/canl_err.c b/emi.canl.canl-c/src/canl_err.c index f273d8f..c316c85 100644 --- a/emi.canl.canl-c/src/canl_err.c +++ b/emi.canl.canl-c/src/canl_err.c @@ -35,8 +35,8 @@ canl_err_code update_error (glb_ctx *cc, unsigned long err_code, } va_end(ap); - ret = resolve_error_code(cc, err_code, err_orig); wo_msg: + ret = resolve_error_code(cc, err_code, err_orig); update_error_msg(cc, new_msg); if (new_msg) free(new_msg); @@ -59,6 +59,10 @@ canl_err_code set_error (glb_ctx *cc, unsigned long err_code, if (cc->err_msg) reset_error(cc, err_code); + if (err_format == NULL || err_format[0] == '\0') { + goto wo_msg; + } + /* make new message */ va_start(ap, err_format); err_format_len = vasprintf(&new_msg, err_format, ap); @@ -66,13 +70,15 @@ canl_err_code set_error (glb_ctx *cc, unsigned long err_code, va_end(ap); return EINVAL; } + va_end(ap); +wo_msg: ret = resolve_error_code(cc, err_code, err_orig); update_error_msg(cc, new_msg); - free(new_msg); - va_end(ap); + if (new_msg) + free(new_msg); - if (!err_code) + if (!err_code) //TODO ??? return 0; return ret; } -- 1.8.2.3