summaryrefslogtreecommitdiff
path: root/ext/sqlite/libsqlite/src/table.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sqlite/libsqlite/src/table.c')
-rw-r--r--ext/sqlite/libsqlite/src/table.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/sqlite/libsqlite/src/table.c b/ext/sqlite/libsqlite/src/table.c
index eb3118fcc3..71f0b59a3a 100644
--- a/ext/sqlite/libsqlite/src/table.c
+++ b/ext/sqlite/libsqlite/src/table.c
@@ -172,10 +172,11 @@ int sqlite_get_table(
if( res.nAlloc>res.nData ){
char **azNew;
azNew = realloc( res.azResult, sizeof(char*)*(res.nData+1) );
- if( res.azResult==0 ){
+ if( azNew==0 ){
sqlite_free_table(&res.azResult[1]);
return SQLITE_NOMEM;
}
+ res.nAlloc = res.nData+1;
res.azResult = azNew;
}
*pazResult = &res.azResult[1];
@@ -193,6 +194,7 @@ void sqlite_free_table(
if( azResult ){
int i, n;
azResult--;
+ if( azResult==0 ) return;
n = (int)azResult[0];
for(i=1; i<n; i++){ if( azResult[i] ) free(azResult[i]); }
free(azResult);