From 77c837bcbe1eecbc4e72f0c5cd83ae2c0261293f Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Thu, 29 Nov 2012 13:41:46 -0600 Subject: [PATCH] printf record: Fix bug in minimum buffer size logic. --- src/std/rec/printfRecord.c | 5 ++++- src/std/rec/printfRecord.dbd | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/std/rec/printfRecord.c b/src/std/rec/printfRecord.c index 5dfe557af..91558b3ff 100644 --- a/src/std/rec/printfRecord.c +++ b/src/std/rec/printfRecord.c @@ -299,10 +299,13 @@ static long init_record(printfRecord *prec, int pass) if (pass == 0) { size_t sizv = prec->sizv; - if (sizv < 16) + if (sizv < 16) { sizv = 16; /* Enforce a minimum size for the VAL field */ + prec->sizv = sizv; + } prec->val = callocMustSucceed(1, sizv, "printf::init_record"); + prec->len = 0; return 0; } diff --git a/src/std/rec/printfRecord.dbd b/src/std/rec/printfRecord.dbd index f45022f23..37beccebf 100644 --- a/src/std/rec/printfRecord.dbd +++ b/src/std/rec/printfRecord.dbd @@ -27,7 +27,7 @@ recordtype(printf) { extra("char *val") } field(SIZV,DBF_USHORT) { - prompt("Size of VAL") + prompt("Size of VAL buffer") promptgroup(GUI_OUTPUT) special(SPC_NOMOD) interest(1)