[QGIS Commit] [qgis/Quantum-GIS] 40b60b: Return value of setlocale() is allocated in static...

GitHub noreply at github.com
Fri Sep 28 14:00:35 PDT 2012


  Branch: refs/heads/master
  Home:   https://github.com/qgis/Quantum-GIS
  Commit: 40b60bba7dedbf7f35ee2a6f1e15602928750d23
      https://github.com/qgis/Quantum-GIS/commit/40b60bba7dedbf7f35ee2a6f1e15602928750d23
  Author: Even Rouault <even.rouault at mines-paris.org>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M src/core/qgscoordinatereferencesystem.cpp

  Log Message:
  -----------
  Return value of setlocale() is allocated in static storage and is thus volatile.

This commit fixes the following Valgrind error :
==17204== Invalid read of size 1
==17204==    at 0x4C29F34: __GI_strchr (mc_replace_strmem.c:219)
==17204==    by 0xBF5E14C: _nl_load_locale_from_archive (loadarchive.c:170)
==17204==    by 0xBF5D60A: _nl_find_locale (findlocale.c:107)
==17204==    by 0xBF5CB8B: setlocale (setlocale.c:379)
==17204==    by 0x808B776: QgsCoordinateReferenceSystem::setProj4String(QString) (in /home/even/qgis-git/Quantum-GIS/build/install/lib/libqgis_core.so.1.9.0)
==17204==    by 0x808A401: QgsCoordinateReferenceSystem::createFromProj4(QString) (in /home/even/qgis-git/Quantum-GIS/build/install/lib/libqgis_core.so.1.9.0)
==17204==    by 0x7FC2F68: QgsDistanceArea::setEllipsoid(QString const&) (in /home/even/qgis-git/Quantum-GIS/build/install/lib/libqgis_core.so.1.9.0)
==17204==    by 0x6D23A3: QgsMeasureDialog::updateSettings() (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x6D200D: QgsMeasureDialog::QgsMeasureDialog(QgsMeasureTool*, QFlags<Qt::WindowType>) (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x6D5777: QgsMeasureTool::QgsMeasureTool(QgsMapCanvas*, bool) (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x553E4B: QgisApp::createCanvasTools() (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x544411: QgisApp::QgisApp(QSplashScreen*, bool, QWidget*, QFlags<Qt::WindowType>) (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==  Address 0x2aec57b1 is 1 bytes inside a block of size 11 free'd
==17204==    at 0x4C287BE: free (vg_replace_malloc.c:446)
==17204==    by 0xBF5CC34: setlocale (setlocale.c:173)
==17204==    by 0x808B6A0: QgsCoordinateReferenceSystem::setProj4String(QString) (in /home/even/qgis-git/Quantum-GIS/build/install/lib/libqgis_core.so.1.9.0)
==17204==    by 0x808A401: QgsCoordinateReferenceSystem::createFromProj4(QString) (in /home/even/qgis-git/Quantum-GIS/build/install/lib/libqgis_core.so.1.9.0)
==17204==    by 0x7FC2F68: QgsDistanceArea::setEllipsoid(QString const&) (in /home/even/qgis-git/Quantum-GIS/build/install/lib/libqgis_core.so.1.9.0)
==17204==    by 0x6D23A3: QgsMeasureDialog::updateSettings() (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x6D200D: QgsMeasureDialog::QgsMeasureDialog(QgsMeasureTool*, QFlags<Qt::WindowType>) (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x6D5777: QgsMeasureTool::QgsMeasureTool(QgsMapCanvas*, bool) (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x553E4B: QgisApp::createCanvasTools() (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x544411: QgisApp::QgisApp(QSplashScreen*, bool, QWidget*, QFlags<Qt::WindowType>) (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==    by 0x53DFF5: main (in /home/even/qgis-git/Quantum-GIS/build/install/bin/qgis)
==17204==


  Commit: 82a22f08861b9030574fd1b552ef7289f739a01d
      https://github.com/qgis/Quantum-GIS/commit/82a22f08861b9030574fd1b552ef7289f739a01d
  Author: Even Rouault <even.rouault at mines-paris.org>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M src/providers/gdal/qgsgdalprovider.cpp

  Log Message:
  -----------
  The return value of CPLGetConfigOption() is volatile, and can be
invalidated by a following call to CPLSetConfigOption(). Thus it needs
to be duplicated.


  Commit: 23352ce0d66855a4a9c403a81feaa1884415e45c
      https://github.com/qgis/Quantum-GIS/commit/23352ce0d66855a4a9c403a81feaa1884415e45c
  Author: Tim Sutton <tim at linfiniti.com>
  Date:   2012-09-28 (Fri, 28 Sep 2012)

  Changed paths:
    M src/core/qgscoordinatereferencesystem.cpp
    M src/providers/gdal/qgsgdalprovider.cpp

  Log Message:
  -----------
  Merge pull request #255 from rouault/master

Fix errors in the usage of setlocale() and CPLGetConfigOption()


Compare: https://github.com/qgis/Quantum-GIS/compare/aaa504058e09...23352ce0d668


More information about the QGIS-commit mailing list