Ticket #775 (closed defect: fixed)
CreateVectorLayer(), setDataProvider("ogr") segfault
Description
The following commands in the Python console will crash qgis:
import qgis.core as c l = c.QgsVectorLayer?() l.setDataProvider("ogr")
Backtrace:
Thread 0 Crashed: 0 libstdc++.6.dylib 0x90b2f9de std::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*) + 20 1 org.gdal.gdal 0x0250d7e9 OGRILI1DataSource::Open(char const*, int) + 105 2 org.gdal.gdal 0x0250dc94 OGRILI1Driver::Open(char const*, int) + 60 3 org.gdal.gdal 0x0248f325 OGRSFDriverRegistrar::Open(char const*, int, OGRSFDriver**) + 85 4 libogrprovider.so 0x1c2920de QgsOgrProvider::QgsOgrProvider[in-charge](QString const&) + 1742 5 libogrprovider.so 0x1c292495 classFactory + 37 6 libqgis_core.dylib 0x01d45284 QgsProviderRegistry::getProvider(QString const&, QString const&) + 230 7 libqgis_core.dylib 0x01d607ab QgsVectorLayer::setDataProvider(QString const&) + 89 8 core.so 0x1db235f8 meth_QgsVectorLayer_setDataProvider + 156
The problem is presumably the null qstring provided as the second arg to getProvider, which should be a filename, but isn't.
Change History
Note: See
TracTickets for help on using
tickets.