aboutsummaryrefslogtreecommitdiffstats
path: root/pseudo_db.c
diff options
context:
space:
mode:
Diffstat (limited to 'pseudo_db.c')
-rw-r--r--pseudo_db.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pseudo_db.c b/pseudo_db.c
index ebbeb69..feda002 100644
--- a/pseudo_db.c
+++ b/pseudo_db.c
@@ -801,7 +801,7 @@ frag(buffer *b, char *fmt, ...) {
va_start(ap, fmt);
rc = vsnprintf(b->tail, b->buflen - curlen, fmt, ap);
va_end(ap);
- if (rc >= (b->buflen - curlen)) {
+ if ((rc > 0) && ((size_t) rc >= (b->buflen - curlen))) {
size_t newlen = b->buflen;
while (newlen <= (rc + curlen))
newlen *= 2;
@@ -819,7 +819,7 @@ frag(buffer *b, char *fmt, ...) {
va_start(ap, fmt);
rc = vsnprintf(b->tail, b->buflen - curlen, fmt, ap);
va_end(ap);
- if (rc >= (b->buflen - curlen)) {
+ if ((rc > 0) && ((size_t) rc >= (b->buflen - curlen))) {
pseudo_diag("tried to reallocate larger buffer, failed. giving up.\n");
return -1;
}