diff options
author | drh <> | 2022-12-02 15:31:47 +0000 |
---|---|---|
committer | drh <> | 2022-12-02 15:31:47 +0000 |
commit | 8b5d7fda5908dcf6fedd440f184d45c9eab8de87 (patch) | |
tree | 67dfc38584f9b2db476def42dfb30f3ff8047493 /src | |
parent | 80ea1f406a593fb052694108ee0951439c662a9a (diff) | |
download | sqlite-8b5d7fda5908dcf6fedd440f184d45c9eab8de87.tar.gz sqlite-8b5d7fda5908dcf6fedd440f184d45c9eab8de87.zip |
Use sqlite3_result_int64() instead of sqlite3_result_int() when returning
potentially large values from the DBSTAT virtual table, to avoid integer
overflows in the result.
[forum:/forumpost/ada2ab044f|Forum post ada2ab044f].
FossilOrigin-Name: 5652154a8c93cf3b1ff6c2e55e94abbe995b0bb625f733461df20e006c2f13f8
Diffstat (limited to 'src')
-rw-r--r-- | src/dbstat.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/dbstat.c b/src/dbstat.c index bb88a76f4..fdef913f8 100644 --- a/src/dbstat.c +++ b/src/dbstat.c @@ -824,16 +824,16 @@ static int statColumn( } break; case 4: /* ncell */ - sqlite3_result_int(ctx, pCsr->nCell); + sqlite3_result_int64(ctx, pCsr->nCell); break; case 5: /* payload */ - sqlite3_result_int(ctx, pCsr->nPayload); + sqlite3_result_int64(ctx, pCsr->nPayload); break; case 6: /* unused */ - sqlite3_result_int(ctx, pCsr->nUnused); + sqlite3_result_int64(ctx, pCsr->nUnused); break; case 7: /* mx_payload */ - sqlite3_result_int(ctx, pCsr->nMxPayload); + sqlite3_result_int64(ctx, pCsr->nMxPayload); break; case 8: /* pgoffset */ if( !pCsr->isAgg ){ @@ -841,7 +841,7 @@ static int statColumn( } break; case 9: /* pgsize */ - sqlite3_result_int(ctx, pCsr->szPage); + sqlite3_result_int64(ctx, pCsr->szPage); break; case 10: { /* schema */ sqlite3 *db = sqlite3_context_db_handle(ctx); |