fix bug in previous change (sz should be the size of the newly allocated

buffer).
This commit is contained in:
christos 2013-12-25 19:42:23 +00:00
parent 42b1fe2393
commit 3504287a90
1 changed files with 6 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: rec_get.c,v 1.17 2013/12/14 18:04:56 christos Exp $ */
/* $NetBSD: rec_get.c,v 1.18 2013/12/25 19:42:23 christos Exp $ */
/*-
* Copyright (c) 1990, 1993, 1994
@ -34,7 +34,7 @@
#endif
#include <sys/cdefs.h>
__RCSID("$NetBSD: rec_get.c,v 1.17 2013/12/14 18:04:56 christos Exp $");
__RCSID("$NetBSD: rec_get.c,v 1.18 2013/12/25 19:42:23 christos Exp $");
#include "namespace.h"
#include <sys/types.h>
@ -175,7 +175,6 @@ __rec_vpipe(BTREE *t, recno_t top)
{
DBT data;
recno_t nrec;
ptrdiff_t len;
size_t sz;
int bval, ch;
uint8_t *p;
@ -195,13 +194,12 @@ __rec_vpipe(BTREE *t, recno_t top)
break;
}
if (sz == 0) {
void *np;
len = p - (uint8_t *)t->bt_rdata.data;
sz = t->bt_rdata.size + 256;
np = realloc(t->bt_rdata.data, sz);
ptrdiff_t len = p - (uint8_t *)t->bt_rdata.data;
size_t tot = t->bt_rdata.size + (sz = 256);
void *np = realloc(t->bt_rdata.data, tot);
if (np == NULL)
return (RET_ERROR);
t->bt_rdata.size = sz;
t->bt_rdata.size = tot;
t->bt_rdata.data = np;
p = (uint8_t *)t->bt_rdata.data + len;
}