fix bug in previous change (sz should be the size of the newly allocated
buffer).
This commit is contained in:
parent
42b1fe2393
commit
3504287a90
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue