New Defects reported by Coverity Scan for digiKam

scan-admin at coverity.com scan-admin at coverity.com
Thu Jul 18 15:17:34 BST 2024


Hi,

Please find the latest report on new defect(s) introduced to digiKam found with Coverity Scan.

22 new defect(s) introduced to digiKam found with Coverity Scan.
36 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 22 defect(s)


** CID 1610415:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/astr2lib.cpp: 49 in Marble::Plan200::Plan200()()


________________________________________________________________________________________________________
*** CID 1610415:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/astr2lib.cpp: 49 in Marble::Plan200::Plan200()()
43      Ecliptic coordinates (in A.U.) and velocity (in A.U./day)
44      of the Planets for Equinox of Date given in Julian centuries since J2000.
45      ======================================================================
46     */
47     Plan200::Plan200()
48     {
>>>     CID 1610415:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "r" is not initialized in this constructor nor in any functions that it calls.
49     }
50     
51     void Plan200::addthe(double c1, double s1, double c2, double s2,                           double& cc, double& ss)
52     {
53         cc = c1 * c2 - s1 * s2;
54         ss = s1 * c2 + c1 * s2;

** CID 1610414:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 59 in Marble::EclSolar::EclSolar()()


________________________________________________________________________________________________________
*** CID 1610414:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 59 in Marble::EclSolar::EclSolar()()
53     
54     // ################ Solar Eclipse Class ####################
55     
56     EclSolar::EclSolar()
57     {
58         esinit();
>>>     CID 1610414:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "eb_dpd" is not initialized in this constructor nor in any functions that it calls.
59     }
60     
61     EclSolar::~EclSolar()
62     {
63     
64     }

** CID 1610413:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/astrolib.cpp: 2008 in Marble::Moon200::Moon200()()


________________________________________________________________________________________________________
*** CID 1610413:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/astrolib.cpp: 2008 in Marble::Moon200::Moon200()()
2002      Position vector (in Earth radii) of the Moon referred to Ecliptic
2003      for Equinox of Date.
2004      t is the time in Julian centuries since J2000.
2005     */
2006     
2007     Moon200::Moon200()
>>>     CID 1610413:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "ds" is not initialized in this constructor nor in any functions that it calls.
2008     { }
2009     
2010     Vec3 Moon200::position(double t)    // position of the Moon at time t
2011     {
2012         Vec3 rm;
2013     

** CID 1610412:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/utilities/queuemanager/manager/actiontask.cpp: 248 in Digikam::ActionTask::run()()


________________________________________________________________________________________________________
*** CID 1610412:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/utilities/queuemanager/manager/actiontask.cpp: 248 in Digikam::ActionTask::run()()
242         tmp2del.removeAll(outUrl);
243         removeTempFiles(tmp2del);
244     
245         // Move processed temp file to target
246     
247         QString renameMess;
>>>     CID 1610412:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "workUrl" is copied in call to copy constructor "QUrl", when it could be moved instead.
248         QUrl dest = workUrl;
249         dest.setPath(dest.path() + QLatin1Char('/') + d->tools.m_destFileName);
250     
251         if (QFileInfo::exists(dest.toLocalFile()))
252         {
253             if      (d->settings.conflictRule == FileSaveConflictBox::OVERWRITE)

** CID 1610411:  Control flow issues  (DEADCODE)
/home/gilles/devel/GIT/8.x/core/libs/dimg/filters/lens/lensfuncameraselector.cpp: 408 in Digikam::LensFunCameraSelector::Private::populateLensCombo()()


________________________________________________________________________________________________________
*** CID 1610411:  Control flow issues  (DEADCODE)
/home/gilles/devel/GIT/8.x/core/libs/dimg/filters/lens/lensfuncameraselector.cpp: 408 in Digikam::LensFunCameraSelector::Private::populateLensCombo()()
402                                   << " :: " << dev->Model
403                                   << " :: " << dev->CropFactor;
404     
405         lens->blockSignals(true);
406         const lfLens** lenses     = iface->lensFunDataBase()->FindLenses(dev, nullptr, nullptr);
407         LensFunContainer settings = iface->settings();
>>>     CID 1610411:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach the expression "-1." inside this statement: "settings.cropFactor = (dev ...".
408         settings.cropFactor       = dev ? dev->CropFactor : -1.0;
409         iface->setSettings(settings);
410     
411         QMultiMap<QString, QVariant> lensMap;
412     
413         while (lenses && *lenses)

** CID 1610410:  Uninitialized variables  (UNINIT)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 3244 in Marble::EclSolar::getLocalDetails(char *)()


________________________________________________________________________________________________________
*** CID 1610410:  Uninitialized variables  (UNINIT)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 3244 in Marble::EclSolar::getLocalDetails(char *)()
3238     
3239             case -4:
3240                 strcpy(outb, "\t\tTotal eclipse of the Moon");
3241                 break;
3242         };
3243     
>>>     CID 1610410:  Uninitialized variables  (UNINIT)
>>>     Using uninitialized value "*outb" when calling "strcat".
3244         strcat(otxt, outb);
3245     
3246         sprintf(outb, "\n\nMaximum Eclipse at ");
3247     
3248         strcat(otxt, outb);
3249     

** CID 1610409:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/planetarySats.cpp: 45 in Marble::PlanetarySats::PlanetarySats()()


________________________________________________________________________________________________________
*** CID 1610409:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/planetarySats.cpp: 45 in Marble::PlanetarySats::PlanetarySats()()
39     
40     // ################ Planetary Sats Class ####################
41     
42     PlanetarySats::PlanetarySats()
43     {
44         plsatinit();
>>>     CID 1610409:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "pls_height" is not initialized in this constructor nor in any functions that it calls.
45     }
46     
47     PlanetarySats::~PlanetarySats()
48     {
49     
50     }

** CID 1610408:    (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/osm/OsmcSymbol.cpp: 185 in Marble::OsmcSymbol::parseBackground(const QString &)()
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/osm/OsmcSymbol.cpp: 179 in Marble::OsmcSymbol::parseBackground(const QString &)()


________________________________________________________________________________________________________
*** CID 1610408:    (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/osm/OsmcSymbol.cpp: 185 in Marble::OsmcSymbol::parseBackground(const QString &)()
179             m_backgroundType = type;
180         }
181     
182         else if (m_backgroundTypes.contains(type))
183         {
184             m_backgroundColor.setNamedColor(color);
>>>     CID 1610408:    (COPY_INSTEAD_OF_MOVE)
>>>     "type" is copied in a call to copy assignment "operator =", when it could be moved instead.
185             m_backgroundType = type;
186         }
187     
188         else
189         {
190             return false;
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/osm/OsmcSymbol.cpp: 179 in Marble::OsmcSymbol::parseBackground(const QString &)()
173         }
174     
175         // Plain color was provided
176         if (type.isEmpty())
177         {
178             m_backgroundColor.setNamedColor(color);
>>>     CID 1610408:    (COPY_INSTEAD_OF_MOVE)
>>>     "type" is copied in a call to copy assignment "operator =", when it could be moved instead.
179             m_backgroundType = type;
180         }
181     
182         else if (m_backgroundTypes.contains(type))
183         {
184             m_backgroundColor.setNamedColor(color);

** CID 1610407:    (USE_AFTER_FREE)


________________________________________________________________________________________________________
*** CID 1610407:    (USE_AFTER_FREE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 303 in Marble::o5mreader_iterateDataSet(Marble::O5mreader *, Marble::O5mreaderDataset *)()
297     
298                 pReader->offset = 0;
299             }
300     
301             if (fread(&(ds->type), 1, 1, pReader->f) == 0)
302             {
>>>     CID 1610407:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_setError" frees pointer "pReader->errMsg" which has already been freed.
303                 o5mreader_setError(pReader,
304                                    O5MREADER_ERR_CODE_UNEXPECTED_END_OF_FILE,
305                                    NULL
306                                   );
307                 return O5MREADER_ITERATE_RET_ERR;
308             }
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 323 in Marble::o5mreader_iterateDataSet(Marble::O5mreader *, Marble::O5mreaderDataset *)()
317                 o5mreader_reset(pReader);
318             }
319     
320             else if (0xf0 == ds->type) {}
321             else
322             {
>>>     CID 1610407:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_readUInt" frees pointer "pReader->errMsg" which has already been freed.
323                 if (o5mreader_readUInt(pReader, &pReader->offset) == O5MREADER_RET_ERR)
324                 {
325                     return O5MREADER_ITERATE_RET_ERR;
326                 }
327     
328                 pReader->current = ftell(pReader->f);

** CID 1610406:  Error handling issues  (CHECKED_RETURN)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 292 in Marble::o5mreader_iterateDataSet(Marble::O5mreader *, Marble::O5mreaderDataset *)()


________________________________________________________________________________________________________
*** CID 1610406:  Error handling issues  (CHECKED_RETURN)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 292 in Marble::o5mreader_iterateDataSet(Marble::O5mreader *, Marble::O5mreaderDataset *)()
286             {
287                 if (o5mreader_skipTags(pReader) == O5MREADER_ITERATE_RET_ERR)
288                 {
289                     return O5MREADER_ITERATE_RET_ERR;
290                 }
291     
>>>     CID 1610406:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "fseek(pReader->f, pReader->current - ftell(pReader->f) + pReader->offset, 1)" without checking return value. This library function may fail and return an error code.
292                 fseek(
293                     pReader->f,
294                     (pReader->current - ftell(pReader->f)) + pReader->offset,
295                     SEEK_CUR
296                 );
297     

** CID 1610405:  Uninitialized variables  (UNINIT)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 3057 in Marble::EclSolar::localStart(int, double *, double *, int *, int, char *)()


________________________________________________________________________________________________________
*** CID 1610405:  Uninitialized variables  (UNINIT)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 3057 in Marble::EclSolar::localStart(int, double *, double *, int *, int, char *)()
3051                             strcpy(outb, "totality    ");
3052                             break;
3053                     }
3054                 }
3055     
3056                 strcat(otxt, "\n ");
>>>     CID 1610405:  Uninitialized variables  (UNINIT)
>>>     Using uninitialized value "*outb" when calling "strcat".
3057                 strcat(otxt, outb);
3058                 strcat(otxt, "\tbegins ");
3059                 dtmstr((spt[i] + eb_tzone / 24.0), dts);
3060                 dts[12] = '\0';
3061                 strcat(otxt, dts);
3062                 strcat(otxt, "\tends ");

** CID 1610404:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/solarsystem.cpp: 60 in Marble::SolarSystem::SolarSystem()()


________________________________________________________________________________________________________
*** CID 1610404:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/solarsystem.cpp: 60 in Marble::SolarSystem::SolarSystem()()
54     
55     // ################ Solar Eclipse Class ####################
56     
57     SolarSystem::SolarSystem()
58     {
59         ssinit();
>>>     CID 1610404:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "ss_eclep" is not initialized in this constructor nor in any functions that it calls.
60     }
61     
62     SolarSystem::~SolarSystem()
63     {
64     
65     }

** CID 1610403:  Security best practices violations  (STRING_OVERFLOW)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/planetarySats.cpp: 401 in Marble::PlanetarySats::setPlanet(char *)()


________________________________________________________________________________________________________
*** CID 1610403:  Security best practices violations  (STRING_OVERFLOW)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/planetarySats.cpp: 401 in Marble::PlanetarySats::setPlanet(char *)()
395         return nst;
396     }
397     
398     void PlanetarySats::setPlanet(char* pname)
399     {
400         pls_moonflg = false;
>>>     CID 1610403:  Security best practices violations  (STRING_OVERFLOW)
>>>     You might overrun the 40-character fixed-size string "this->pls_plntname" by copying "pname" without checking the length.
401         strcpy(pls_plntname, pname);
402     
403         if (strncmp("Mars", pname, 4) == 0)
404         {
405             getMars();
406         }

** CID 1610402:    (USE_AFTER_FREE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 374 in Marble::o5mreader_readVersion(Marble::O5mreader *, Marble::O5mreaderDataset *)()


________________________________________________________________________________________________________
*** CID 1610402:    (USE_AFTER_FREE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 374 in Marble::o5mreader_readVersion(Marble::O5mreader *, Marble::O5mreaderDataset *)()
368         }
369     
370         ds->version = tmp;
371     
372         if (tmp)
373         {
>>>     CID 1610402:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_readUInt" frees pointer "pReader->errMsg" which has already been freed.
374             if (o5mreader_readUInt(pReader, &tmp) == O5MREADER_ITERATE_RET_ERR)
375             {
376                 return O5MREADER_ITERATE_RET_ERR;
377             }
378     
379             if (o5mreader_readInt(pReader, &tmp) == O5MREADER_ITERATE_RET_ERR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 390 in Marble::o5mreader_readVersion(Marble::O5mreader *, Marble::O5mreaderDataset *)()
384             if (o5mreader_thereAreNoMoreData(pReader))
385             {
386                 return O5MREADER_ITERATE_RET_DONE;
387             }
388     
389             mtx.lock();
>>>     CID 1610402:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_readStrPair" frees pointer "pReader->errMsg" which has already been freed.
390             O5mreaderRet strPair = o5mreader_readStrPair(pReader, &pReader->tagPair, 0);
391             mtx.unlock();
392     
393             if (strPair == O5MREADER_ITERATE_RET_ERR)
394             {
395                 return O5MREADER_ITERATE_RET_ERR;

** CID 1610401:  Incorrect expression  (COPY_PASTE_ERROR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 2757 in Marble::EclSolar::GRSBound(bool, double &, double &, double &, double &)()


________________________________________________________________________________________________________
*** CID 1610401:  Incorrect expression  (COPY_PASTE_ERROR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/eclsolar.cpp: 2757 in Marble::EclSolar::GRSBound(bool, double &, double &, double &, double &)()
2751             lat1 = sqrt(vrx[0] * vrx[0] + vrx[1] * vrx[1]) * 0.993305615;
2752             lat1 = atan23(vrx[2], lat1);
2753             lat1 /= degrad;
2754             lng1 /= degrad;
2755         };
2756     
>>>     CID 1610401:  Incorrect expression  (COPY_PASTE_ERROR)
>>>     "lat1" in "lat1 < 100." looks like a copy-paste error.
2757         if (lat1 < 100.0)  // intersection #2
2758         {
2759             vrx2[2] = 0;
2760             vrx2 = mxvct(m2, vrx2);
2761             vrx2 = vnorm(vrx2);
2762             vrx2[2] *= flat;    // vector to intersection

** CID 1610400:  Security best practices violations  (STRING_OVERFLOW)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/planetarySats.cpp: 201 in Marble::PlanetarySats::setSatFile(char *)()


________________________________________________________________________________________________________
*** CID 1610400:  Security best practices violations  (STRING_OVERFLOW)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/planetarySats.cpp: 201 in Marble::PlanetarySats::setSatFile(char *)()
195             min = 0;
196         };
197     }
198     
199     void PlanetarySats::setSatFile(char* fname)
200     {
>>>     CID 1610400:  Security best practices violations  (STRING_OVERFLOW)
>>>     You might overrun the 205-character fixed-size string "this->pls_satelmfl" by copying "fname" without checking the length.
201         strcpy(pls_satelmfl, fname);
202     
203     }
204     
205     void PlanetarySats::setStateVector(double mjd, double x, double y, double z, double vx, double vy, double vz)
206     {

** CID 1610399:  Error handling issues  (CHECKED_RETURN)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/osm/OsmcSymbol.cpp: 212 in Marble::OsmcSymbol::parseForeground(const QString &)()


________________________________________________________________________________________________________
*** CID 1610399:  Error handling issues  (CHECKED_RETURN)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/osm/OsmcSymbol.cpp: 212 in Marble::OsmcSymbol::parseForeground(const QString &)()
206         QString type = fg.section(QLatin1Char('_'), 1, -1);
207     
208         if (QColor::isValidColor(color) && m_foregroundTypes.contains(type))
209         {
210             // Open svg resource and load contents to QByteArray
211             QFile file(QString::fromUtf8(":/osmc-symbols/%1.svg").arg(type));
>>>     CID 1610399:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "open" without checking return value (as is done elsewhere 158 out of 168 times).
212             file.open(QIODevice::ReadOnly);
213             QByteArray baData = file.readAll();
214     
215             // Load svg contents to xml document
216             QDomDocument doc;
217             doc.setContent(baData);

** CID 1610398:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/libs/album/manager/albummanager_database.cpp: 239 in Digikam::AlbumManager::setDatabase(const Digikam::DbEngineParameters &, bool, const QString &, bool)()


________________________________________________________________________________________________________
*** CID 1610398:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/libs/album/manager/albummanager_database.cpp: 239 in Digikam::AlbumManager::setDatabase(const Digikam::DbEngineParameters &, bool, const QString &, bool)()
233             }
234     
235             case ScanController::AbortImmediately:
236             {
237                 if (!errorMsg.isEmpty())
238                 {
>>>     CID 1610398:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "errorMsg" is copied in a call to copy assignment "operator =", when it could be moved instead.
239                     databaseError = errorMsg;
240                 }
241                 else
242                 {
243                     databaseError = i18n("Failed to initialize the database.");
244                 }

** CID 1610397:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/astrolib.cpp: 2357 in Marble::Eclipse::Eclipse()()


________________________________________________________________________________________________________
*** CID 1610397:  Uninitialized members  (UNINIT_CTOR)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/astro/astrolib.cpp: 2357 in Marble::Eclipse::Eclipse()()
2351         rs.assign(1, 0, 0);
2352         rm.assign(1, 0, 0);
2353         eshadow.assign(1, 0, 0);
2354         rint.assign(1, 0, 0);
2355         d_umbra = 0;
2356         ep2 = 0;
>>>     CID 1610397:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "d_penumbra" is not initialized in this constructor nor in any functions that it calls.
2357     }
2358     
2359     int Eclipse::solar(double jd, double tdut, double& phi, double& lamda)
2360     {
2361         /* Calculates various items about a solar eclipse.
2362             INPUT:

** CID 1610396:    (USE_AFTER_FREE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 427 in Marble::o5mreader_iterateTags(Marble::O5mreader *, char **, char **)()


________________________________________________________________________________________________________
*** CID 1610396:    (USE_AFTER_FREE)
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 427 in Marble::o5mreader_iterateTags(Marble::O5mreader *, char **, char **)()
421                 return O5MREADER_ITERATE_RET_ERR;
422             }
423         }
424     
425         if (!pReader->canIterateTags)
426         {
>>>     CID 1610396:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_setError" frees pointer "pReader->errMsg" which has already been freed.
427             o5mreader_setError(pReader,
428                                O5MREADER_ERR_CODE_CAN_NOT_ITERATE_TAGS_HERE,
429                                NULL
430                               );
431             return O5MREADER_ITERATE_RET_ERR;
432         }
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 427 in Marble::o5mreader_iterateTags(Marble::O5mreader *, char **, char **)()
421                 return O5MREADER_ITERATE_RET_ERR;
422             }
423         }
424     
425         if (!pReader->canIterateTags)
426         {
>>>     CID 1610396:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_setError" frees pointer "pReader->errMsg" which has already been freed.
427             o5mreader_setError(pReader,
428                                O5MREADER_ERR_CODE_CAN_NOT_ITERATE_TAGS_HERE,
429                                NULL
430                               );
431             return O5MREADER_ITERATE_RET_ERR;
432         }
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 441 in Marble::o5mreader_iterateTags(Marble::O5mreader *, char **, char **)()
435         {
436             pReader->canIterateTags = 0;
437             return O5MREADER_ITERATE_RET_DONE;
438         }
439     
440         mtx.lock();
>>>     CID 1610396:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_readStrPair" frees pointer "pReader->errMsg" which has already been freed.
441         O5mreaderRet strPair = o5mreader_readStrPair(pReader, &pReader->tagPair, 0);
442         mtx.unlock();
443     
444         if (strPair == O5MREADER_RET_ERR)
445         {
446             return O5MREADER_ITERATE_RET_ERR;
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 441 in Marble::o5mreader_iterateTags(Marble::O5mreader *, char **, char **)()
435         {
436             pReader->canIterateTags = 0;
437             return O5MREADER_ITERATE_RET_DONE;
438         }
439     
440         mtx.lock();
>>>     CID 1610396:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_readStrPair" frees pointer "pReader->errMsg" which has already been freed.
441         O5mreaderRet strPair = o5mreader_readStrPair(pReader, &pReader->tagPair, 0);
442         mtx.unlock();
443     
444         if (strPair == O5MREADER_RET_ERR)
445         {
446             return O5MREADER_ITERATE_RET_ERR;
/home/gilles/devel/GIT/8.x/core/utilities/geolocation/engine/plugins/runner/osm/o5mreader/o5mreader.cpp: 419 in Marble::o5mreader_iterateTags(Marble::O5mreader *, char **, char **)()
413                 return O5MREADER_ITERATE_RET_ERR;
414             }
415         }
416     
417         if (pReader->canIterateNds)
418         {
>>>     CID 1610396:    (USE_AFTER_FREE)
>>>     Calling "o5mreader_skipNds" frees pointer "pReader->errMsg" which has already been freed.
419             if (o5mreader_skipNds(pReader) == O5MREADER_ITERATE_RET_ERR)
420             {
421                 return O5MREADER_ITERATE_RET_ERR;
422             }
423         }
424     


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu4yJUfIaFVfulX1EnArvLvmGJ18AyhOhOJnWywYkUuR-2BHL458rbL5b5DiAzhSjilZ8-3DXqyi_wUwU8mg96yc-2FA1IAMQ6mJ-2FFdQ9EM-2BFY-2BXFbSpXNYnfy63YVWgleJXWJXZ-2Fk8-2FCtVqkCnnk1mqwnW8wT9vc46F3Tsj0OcSIAolRKTNnNk5zD98X3zYZHjv4Kz-2F0riwsMnUQBmQI7bf86As9sQ-2F9y92vxMQMk2ukWCow6f1gR00r-2BczPeYdz5j9vJ69HTaSR4-2FUDJ-2B-2BHro7SxluKLIvsz0wA-3D-3D



More information about the Digikam-devel mailing list