From: danielk1977 Date: Mon, 16 Jan 2006 14:29:05 +0000 (+0000) Subject: Correctly handle malloc() failure in GenericMalloc() and GenericRealloc(). Fix for... X-Git-Tag: version-3.6.10~3209 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80c43bcba17b029598e9336b27d7cae308077eed;p=thirdparty%2Fsqlite.git Correctly handle malloc() failure in GenericMalloc() and GenericRealloc(). Fix for #1617. (CVS 2958) FossilOrigin-Name: 9dfc4a880b49869e945d6a19e63fcf6dc94412ad --- diff --git a/manifest b/manifest index 4f73273ee2..52d9b3099e 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Run\sthe\stests\sin\sshared.test\sa\ssecond\stime\susing\san\sautovacuum\sdatabase.\s(CVS\s2957) -D 2006-01-16T12:46:41 +C Correctly\shandle\smalloc()\sfailure\sin\sGenericMalloc()\sand\sGenericRealloc().\sFix\sfor\s#1617.\s(CVS\s2958) +D 2006-01-16T14:29:06 F Makefile.in ab3ffd8d469cef4477257169b82810030a6bb967 F Makefile.linux-gcc aee18d8a05546dcf1888bd4547e442008a49a092 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -52,7 +52,7 @@ F src/main.c 39d073fb1f95f874ee0c98366e99005cf14742dd F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217 F src/os.c 1d1a61cdf150e9f9520a3bc787c8465148ea2e78 F src/os.h 9debc3d3ca4cdafde222a0ea74a4c8415aef4f22 -F src/os_common.h 6b76efa9b252e288de53b202ed5a0d48f48dc8db +F src/os_common.h 95b29ca6f3e6636cb33c9219b3f91a96fa7224b1 F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3 F src/os_unix.c 7daa1720d46bbc31c6138462b35876650eb1885e @@ -341,7 +341,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 7b48836214ea3152f46e2dffb097ae7ea14901f4 -R 46ff0e2f5c8b7e28aaa85a7986807ca7 +P 9927522923558348a846e033b92100c0ed4ee556 +R 57c562a59b5c5138ad538109f4517a6c U danielk1977 -Z 8d66a8b94efb498b44d61fc42165eff2 +Z 5c54f7e1a11402994e13dc599beddfc4 diff --git a/manifest.uuid b/manifest.uuid index a7b7990ec0..dd6ae1ac44 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9927522923558348a846e033b92100c0ed4ee556 \ No newline at end of file +9dfc4a880b49869e945d6a19e63fcf6dc94412ad \ No newline at end of file diff --git a/src/os_common.h b/src/os_common.h index 50e869ed18..1fa66a212d 100644 --- a/src/os_common.h +++ b/src/os_common.h @@ -148,8 +148,9 @@ void *sqlite3GenericMalloc(int n){ assert(sizeof(int)<=8); if( p ){ *(int *)p = n; + p += 8; } - return (void *)(p + 8); + return (void *)p; } void *sqlite3GenericRealloc(void *p, int n){ char *p2 = ((char *)p - 8); @@ -157,8 +158,9 @@ void *sqlite3GenericRealloc(void *p, int n){ p2 = realloc(p2, n+8); if( p2 ){ *(int *)p2 = n; + p2 += 8; } - return (void *)((char *)p2 + 8); + return (void *)p2; } void sqlite3GenericFree(void *p){ assert(p);