Ticket #1432 (closed defect: fixed)
[OGR] Seg fault in ~OGRKMLDataSource()
| Reported by: | dmorissette | Owned by: | mloskot |
|---|---|---|---|
| Priority: | normal | Milestone: | 1.4.1 |
| Component: | OGR_SF | Version: | 1.4.0 |
| Severity: | normal | Keywords: | |
| Cc: |
Description (last modified by hobu) (diff)
With GDAL/OGR 1.4.0, I get a seg fault (possibly a double free?) in OGRKMLDataSource::~OGRKMLDataSource() when I run the following command: ogr2ogr -f KML -dsco NameField=NAME_E /tmp/test.kml ./data/all_4326/ fedlimit park popplace If I remove the "-dsco ..." then the command runs fine. I don't have GDAL compiled in debug mode right now so I cannot investigate and fix right away, but I thought I would report this here now in case someone else has already found and fixed the error. GDB reports that the crash is in VSIFree() so I suspect a double free. Valgrind reports the following which suggests that it may be the CSLDestroy(papszCreateOptions) in OGRKMLDataSource::~OGRKMLDataSource() that causes the error: ==22792== Invalid free() / delete / delete[] ==22792== at 0x401CFCF: free (vg_replace_malloc.c:235) ==22792== by 0x41D4BF4: VSIFree (in /media/hda5/data-ubuntu/opt/fgs1/fgs-dev/built/gdal/lib/libgdal.so.1.10.0) ==22792== by 0x427714A: OGRKMLDataSource::~OGRKMLDataSource() (in /media/hda5/data-ubuntu/opt/fgs1/fgs-dev/built/gdal/lib/libgdal.so.1.10.0) ==22792== by 0x8049CD4: main (in /media/hda5/data-ubuntu/opt/fgs1/fgs/bin/ogr2ogr) ==22792== Address 0x4BDD13A is 10 bytes inside a block of size 17 alloc'd ==22792== at 0x401C422: malloc (vg_replace_malloc.c:149) ==22792== by 0x4991FEF: strdup (in /lib/tls/i686/cmov/libc-2.3.6.so) ==22792== by 0x41D4C18: VSIStrdup (in /media/hda5/data-ubuntu/opt/fgs1/fgs-dev/built/gdal/lib/libgdal.so.1.10.0) ==22792== by 0x41C5ADE: CPLStrdup (in /media/hda5/data-ubuntu/opt/fgs1/fgs-dev/built/gdal/lib/libgdal.so.1.10.0) ==22792== by 0x41CE5A4: CSLAddString (in /media/hda5/data-ubuntu/opt/fgs1/fgs-dev/built/gdal/lib/libgdal.so.1.10.0) ==22792== by 0x804A0DE: main (in /media/hda5/data-ubuntu/opt/fgs1/fgs/bin/ogr2ogr)
Change History
Note: See
TracTickets for help on using
tickets.
