Merge pull request #67 from eboasson/master

Fix log calculation of available buffer space
This commit is contained in:
eboasson 2018-12-01 13:50:18 +01:00 committed by GitHub
commit 60752b3fd8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -24,7 +24,6 @@
typedef struct { typedef struct {
char buf[2048]; char buf[2048];
size_t bufsz;
size_t pos; size_t pos;
} log_buffer_t; } log_buffer_t;
@ -233,7 +232,7 @@ static void vlog(
lb->pos = BUF_OFFSET; lb->pos = BUF_OFFSET;
lb->buf[lb->pos] = 0; lb->buf[lb->pos] = 0;
} }
nrem = lb->bufsz - lb->pos; nrem = sizeof (lb->buf) - lb->pos;
if (nrem > 0) { if (nrem > 0) {
n = os_vsnprintf(lb->buf + lb->pos, nrem, fmt, ap); n = os_vsnprintf(lb->buf + lb->pos, nrem, fmt, ap);
if (n >= 0 && (size_t) n < nrem) { if (n >= 0 && (size_t) n < nrem) {
@ -245,7 +244,7 @@ static void vlog(
if (trunc) { if (trunc) {
static const char msg[] = "(trunc)\n"; static const char msg[] = "(trunc)\n";
const size_t msglen = sizeof (msg) - 1; const size_t msglen = sizeof (msg) - 1;
assert(lb->pos <= lb->bufsz); assert(lb->pos <= sizeof (lb->buf));
assert(lb->pos >= msglen); assert(lb->pos >= msglen);
memcpy(lb->buf + lb->pos - msglen, msg, msglen); memcpy(lb->buf + lb->pos - msglen, msg, msglen);
} }