1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Follow-up to check-in (3164). Make sure SQLITE_NOMEM is returned after

a memory allocation failure.  It is not sufficent to return an "out of memory"
error message.  The return code needs to be SQLITE_NOMEM. (CVS 3172)

FossilOrigin-Name: 9d95750e8556aef20a637a815652d547ed2f887c
This commit is contained in:
drh
2006-04-10 13:37:47 +00:00
parent 15abd02897
commit a06ab2ca23
4 changed files with 18 additions and 11 deletions

View File

@ -14,7 +14,7 @@
# special feature is used to see what happens in the library if a malloc
# were to really fail due to an out-of-memory situation.
#
# $Id: malloc.test,v 1.31 2006/04/05 11:57:37 drh Exp $
# $Id: malloc.test,v 1.32 2006/04/10 13:37:47 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@ -93,6 +93,13 @@ proc do_malloc_test {tn args} {
}
set v [catch $::mallocbody msg]
# If the test fails (if $v!=0) and the database connection actually
# exists, make sure the failure code is SQLITE_NOMEM.
if {$v && [info command db]=="db" && [info exists ::mallocopts(-sqlbody)]
&& [db errorcode]!=7} {
set v 999
}
set leftover [lindex [sqlite_malloc_stat] 2]
if {$leftover>0} {
if {$leftover>1} {puts "\nLeftover: $leftover\nReturn=$v Message=$msg"}