summaryrefslogtreecommitdiffstats
path: root/src/erec.c
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2015-01-06 23:40:24 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2015-01-07 13:08:43 +0100
commit58b0957c48506083addde7a302ce82225002eb2f (patch)
treed3743f763f7af997af72d992ae2364fdb086d390 /src/erec.c
parent95af7f0a4c87894ef818f248845e1954fa780bec (diff)
erec: use stdio vasprintf instead of gmp_vasprintf
Use stdio's vasprintf instead of gmp_vasprintf which is not part of the mini-gmp function subset. Furthermore convert the only gmp-specific user and allow the compiler to verify format-strings. Signed-off-by: Steven Barth <cyrus@openwrt.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/erec.c')
-rw-r--r--src/erec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/erec.c b/src/erec.c
index 82543e6d..810e9bfd 100644
--- a/src/erec.c
+++ b/src/erec.c
@@ -44,6 +44,7 @@ static void erec_destroy(struct error_record *erec)
xfree(erec);
}
+__attribute__((format(printf, 3, 0)))
struct error_record *erec_vcreate(enum error_record_types type,
const struct location *loc,
const char *fmt, va_list ap)
@@ -55,10 +56,13 @@ struct error_record *erec_vcreate(enum error_record_types type,
erec->num_locations = 0;
erec_add_location(erec, loc);
- gmp_vasprintf(&erec->msg, fmt, ap);
+ if (vasprintf(&erec->msg, fmt, ap) < 0)
+ erec->msg = NULL;
+
return erec;
}
+__attribute__((format(printf, 3, 4)))
struct error_record *erec_create(enum error_record_types type,
const struct location *loc,
const char *fmt, ...)