diff options
Diffstat (limited to 'ext/sqlite/libsqlite/src/table.c')
-rw-r--r-- | ext/sqlite/libsqlite/src/table.c | 4 |
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); |