Apply upstream changeset 27949 to prevent a crash when using sqlite

3.8.7
This commit is contained in:
Volker Fröhlich 2014-12-06 03:28:35 +01:00
parent f618c625ef
commit b41a7b1641
2 changed files with 73 additions and 1 deletions

View File

@ -0,0 +1,65 @@
Index: /trunk/gdal/ogr/ogrsf_frmts/sqlite/ogrsqlitevirtualogr.cpp
===================================================================
--- /trunk/gdal/ogr/ogrsf_frmts/sqlite/ogrsqlitevirtualogr.cpp (revision 27942)
+++ /trunk/gdal/ogr/ogrsf_frmts/sqlite/ogrsqlitevirtualogr.cpp (revision 27949)
@@ -36,4 +36,23 @@
#ifdef HAVE_SQLITE_VFS
+/************************************************************************/
+/* OGR2SQLITE_Register() */
+/************************************************************************/
+
+CPL_C_START
+int CPL_DLL OGR2SQLITE_static_register (sqlite3* hDB, char **pzErrMsg, void* pApi);
+CPL_C_END
+
+/* We call this function so that each time a db is created, */
+/* OGR2SQLITE_static_register is called, to initialize the sqlite3_api */
+/* structure with the right pointers. */
+/* We need to declare this function before including sqlite3ext.h, since */
+/* sqlite 3.8.7, sqlite3_auto_extension can be a macro (#5725) */
+
+void OGR2SQLITE_Register()
+{
+ sqlite3_auto_extension ((void (*)(void)) OGR2SQLITE_static_register);
+}
+
#define VIRTUAL_OGR_DYNAMIC_EXTENSION_ENABLED
//#define DEBUG_OGR2SQLITE
@@ -2403,16 +2422,11 @@
/************************************************************************/
-CPL_C_START
-int CPL_DLL OGR2SQLITE_static_register (sqlite3 * hDB, char **pzErrMsg,
- const sqlite3_api_routines * pApi);
-CPL_C_END
-
#ifndef WIN32
extern const struct sqlite3_api_routines OGRSQLITE_static_routines;
#endif
-int OGR2SQLITE_static_register (sqlite3 * hDB, char **pzErrMsg,
- const sqlite3_api_routines * pApi)
-{
+int OGR2SQLITE_static_register (sqlite3 * hDB, char **pzErrMsg, void * _pApi)
+{
+ const sqlite3_api_routines * pApi = (const sqlite3_api_routines * )_pApi;
#ifndef WIN32
if( pApi->create_module == NULL )
@@ -2450,16 +2464,3 @@
}
-/************************************************************************/
-/* OGR2SQLITE_Register() */
-/************************************************************************/
-
-/* We call this function so that each time a db is created, */
-/* OGR2SQLITE_static_register is called, to initialize the sqlite3_api */
-/* structure with the right pointers. */
-
-void OGR2SQLITE_Register()
-{
- sqlite3_auto_extension ((void (*)(void)) OGR2SQLITE_static_register);
-}
-
#endif // HAVE_SQLITE_VFS

View File

@ -41,7 +41,7 @@
Name: gdal
Version: 1.11.1
Release: 3%{?dist}
Release: 4%{?dist}
Summary: GIS file format library
Group: System Environment/Libraries
License: MIT
@ -66,6 +66,9 @@ Patch2: %{name}-jni.patch
# Fedora uses Alternatives for Java
Patch8: %{name}-1.9.0-java.patch
# http://trac.osgeo.org/gdal/changeset/27949
Patch9: %{name}-1.11.1-sqlite-crash.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ant
@ -266,6 +269,7 @@ rm -r frmts/grib/degrib18/g2clib-1.0.4
%patch1 -p1 -b .g2clib~
%patch2 -p1 -b .jni~
%patch8 -p1 -b .java~
%patch9 -p3 -b .sqlite~
# Copy in PROVENANCE.TXT-fedora
cp -p %SOURCE4 .
@ -764,6 +768,9 @@ popd
#Or as before, using ldconfig
%changelog
* Sat Dec 6 2014 Volker Fröhlich <volker27@gmx.at> - 1.11.1-4
- Apply upstream changeset 27949 to prevent a crash when using sqlite 3.8.7
* Tue Dec 2 2014 Jerry James <loganjerry@gmail.com> - 1.11.1-3
- Don't try to install perllocal.pod (bz 1161231)