chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some configuration-related memory hygeine.
[disorder]
/
lib
/
asprintf.c
diff --git
a/lib/asprintf.c
b/lib/asprintf.c
index da37319012c19f5f6a85a9c8f0f7a5577f280d48..ddfc12ece96cae4e269cb339a9df9a74e58f84c6 100644
(file)
--- a/
lib/asprintf.c
+++ b/
lib/asprintf.c
@@
-38,11
+38,15
@@
int byte_vasprintf(char **ptrp,
const char *fmt,
va_list ap) {
int byte_vasprintf(char **ptrp,
const char *fmt,
va_list ap) {
+ struct sink *s;
struct dynstr d;
int n;
dynstr_init(&d);
struct dynstr d;
int n;
dynstr_init(&d);
- if((n = byte_vsinkprintf(sink_dynstr(&d), fmt, ap)) >= 0) {
+ s = sink_dynstr(&d);
+ n = byte_vsinkprintf(s, fmt, ap);
+ xfree(s);
+ if(n >= 0) {
dynstr_terminate(&d);
*ptrp = d.vec;
}
dynstr_terminate(&d);
*ptrp = d.vec;
}