summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2016-03-04 15:19:09 +0100
committerPeter Rajnoha <prajnoha@redhat.com>2016-03-04 15:19:09 +0100
commit67c5006e12c9e3bf888db0fbaa78a50efcbfa9b2 (patch)
treed69e6e911bf3e3777d77d0bf3e2e61933648fa6a
parent967a0889a024e2cc3f3afb3469e1b0657ebb85bc (diff)
downloadlvm2-67c5006e12c9e3bf888db0fbaa78a50efcbfa9b2.tar.gz
cleanup: previous patch with libdm config node buffer size
-rw-r--r--libdm/libdm-config.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libdm/libdm-config.c b/libdm/libdm-config.c
index a7f409635..5fa06a131 100644
--- a/libdm/libdm-config.c
+++ b/libdm/libdm-config.c
@@ -222,7 +222,7 @@ __attribute__ ((format(printf, 2, 3)))
static int _line_append(struct config_output *out, const char *fmt, ...)
{
char buf[4096];
- char *final_buf;
+ char *dyn_buf = NULL;
va_list ap;
int n;
@@ -246,21 +246,23 @@ static int _line_append(struct config_output *out, const char *fmt, ...)
* so try dynamically allocated buffer now...
*/
va_start(ap, fmt);
- n = dm_vasprintf(&final_buf, fmt, ap);
+ n = dm_vasprintf(&dyn_buf, fmt, ap);
va_end(ap);
if (n < 0) {
log_error("dm_vasprintf failed for config line");
return 0;
}
- } else
- final_buf = buf;
+ }
- if (!dm_pool_grow_object(out->mem, final_buf, strlen(final_buf))) {
+ if (!dm_pool_grow_object(out->mem, dyn_buf ? : buf, 0)) {
log_error("dm_pool_grow_object failed for config line");
+ dm_free(dyn_buf);
return 0;
}
+ dm_free(dyn_buf);
+
return 1;
}