2026-05-03 04:38 ftp://ftp.de.debian.org/debian/pool/main/libg/libgweather4/libgweather4_4.4.4.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 77 75 elapsed-time: 0.6 0.5 head-timing-info: old-timing-info: head results: libgweather-4.4.4/libgweather/gweather-info.h:10:2: error: #error "gweather-weather.h must not be included individually, include gweather.h instead" [preprocessorErrorDirective] libgweather-4.4.4/libgweather/gweather-location.h:10:2: error: #error "gweather-location.h must not be included individually, include gweather.h instead" [preprocessorErrorDirective] libgweather-4.4.4/libgweather/tests/duplicates.c:58:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/duplicates.c:81:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/duplicates.c:101:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GHashTable [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/duplicates.c:138:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/duplicates.c:153:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:40:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SCHEMAS_BUILDDIR [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:40:5: warning: Assert statement calls a function which may have desired side effects: 'g_file_get_contents'. [assertWithSideEffect] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:42:5: warning: Assert statement calls a function which may have desired side effects: 'g_file_set_contents'. [assertWithSideEffect] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:46:5: warning: Assert statement calls a function which may have desired side effects: 'g_file_get_contents'. [assertWithSideEffect] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:48:5: warning: Assert statement calls a function which may have desired side effects: 'g_file_set_contents'. [assertWithSideEffect] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:48:5: error: Dereferencing 'schema_text' after it is deallocated / released [deallocuse] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:50:5: error: Memory pointed to by 'schema_text' is freed twice. [doubleFree] libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:44:5: note: Memory pointed to by 'schema_text' is freed twice. libgweather-4.4.4/libgweather/tests/gweather-test-utils.c:50:5: note: Memory pointed to by 'schema_text' is freed twice. libgweather-4.4.4/libgweather/tests/metar.c:248:2: error: failed to evaluate #if condition, undefined function-like macro invocation: SOUP_CHECK_VERSION( ... ) [syntaxError] libgweather-4.4.4/libgweather/tests/test_libgweather.c:21:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:56:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:77:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:90:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:106:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:141:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:185:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:225:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_SOURCE_REMOVE [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:232:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:272:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:322:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_ASCII_DTOSTR_BUF_SIZE [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:336:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/test_libgweather.c:143:11: style: Variable 'old_locale' can be declared as pointer to const [constVariablePointer] libgweather-4.4.4/libgweather/tests/test_libgweather.c:215:32: style: Parameter 'info' can be declared as pointer to const. However it seems that 'weather_updated' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libgweather-4.4.4/libgweather/tests/test_libgweather.c:258:5: note: You might need to cast the function pointer here libgweather-4.4.4/libgweather/tests/test_libgweather.c:215:32: note: Parameter 'info' can be declared as pointer to const libgweather-4.4.4/libgweather/tests/test_libgweather.c:216:29: style: Parameter 'loop' can be declared as pointer to const. However it seems that 'weather_updated' is a callback function, if 'loop' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libgweather-4.4.4/libgweather/tests/test_libgweather.c:258:5: note: You might need to cast the function pointer here libgweather-4.4.4/libgweather/tests/test_libgweather.c:216:29: note: Parameter 'loop' can be declared as pointer to const libgweather-4.4.4/libgweather/tests/timezones.c:69:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/timezones.c:106:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/timezones.c:140:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTimeZone [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/timezones.c:173:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/timezones.c:185:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tests/timezones.c:201:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/third-party/kdtree.c:220:17: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] libgweather-4.4.4/libgweather/third-party/kdtree.c:469:17: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] libgweather-4.4.4/libgweather/third-party/kdtree.c:571:17: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] libgweather-4.4.4/libgweather/third-party/kdtree.c:167:39: style:inconclusive: Function 'insert_rec' argument 1 names different: declaration 'node' definition 'nptr'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.c:92:39: note: Function 'insert_rec' argument 1 names different: declaration 'node' definition 'nptr'. libgweather-4.4.4/libgweather/third-party/kdtree.c:167:39: note: Function 'insert_rec' argument 1 names different: declaration 'node' definition 'nptr'. libgweather-4.4.4/libgweather/third-party/kdtree.c:404:41: style:inconclusive: Function 'kd_nearest' argument 1 names different: declaration 'tree' definition 'kd'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:63:41: note: Function 'kd_nearest' argument 1 names different: declaration 'tree' definition 'kd'. libgweather-4.4.4/libgweather/third-party/kdtree.c:404:41: note: Function 'kd_nearest' argument 1 names different: declaration 'tree' definition 'kd'. libgweather-4.4.4/libgweather/third-party/kdtree.c:537:47: style:inconclusive: Function 'kd_nearest_range' argument 1 names different: declaration 'tree' definition 'kd'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:91:47: note: Function 'kd_nearest_range' argument 1 names different: declaration 'tree' definition 'kd'. libgweather-4.4.4/libgweather/third-party/kdtree.c:537:47: note: Function 'kd_nearest_range' argument 1 names different: declaration 'tree' definition 'kd'. libgweather-4.4.4/libgweather/third-party/kdtree.c:561:48: style:inconclusive: Function 'kd_nearest_rangef' argument 1 names different: declaration 'tree' definition 'kd'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:92:48: note: Function 'kd_nearest_rangef' argument 1 names different: declaration 'tree' definition 'kd'. libgweather-4.4.4/libgweather/third-party/kdtree.c:561:48: note: Function 'kd_nearest_rangef' argument 1 names different: declaration 'tree' definition 'kd'. libgweather-4.4.4/libgweather/third-party/kdtree.c:613:32: style:inconclusive: Function 'kd_res_free' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:97:32: note: Function 'kd_res_free' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:613:32: note: Function 'kd_res_free' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:625:34: style:inconclusive: Function 'kd_res_rewind' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:103:34: note: Function 'kd_res_rewind' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:625:34: note: Function 'kd_res_rewind' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:630:30: style:inconclusive: Function 'kd_res_end' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:106:30: note: Function 'kd_res_end' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:630:30: note: Function 'kd_res_end' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:635:31: style:inconclusive: Function 'kd_res_next' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:111:31: note: Function 'kd_res_next' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:635:31: note: Function 'kd_res_next' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:641:33: style:inconclusive: Function 'kd_res_item' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:116:33: note: Function 'kd_res_item' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:641:33: note: Function 'kd_res_item' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:652:34: style:inconclusive: Function 'kd_res_itemf' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:117:34: note: Function 'kd_res_itemf' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:652:34: note: Function 'kd_res_itemf' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:666:34: style:inconclusive: Function 'kd_res_item3' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:118:34: note: Function 'kd_res_item3' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:666:34: note: Function 'kd_res_item3' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:677:35: style:inconclusive: Function 'kd_res_item3f' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.h:119:35: note: Function 'kd_res_item3f' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:677:35: note: Function 'kd_res_item3f' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:832:41: style:inconclusive: Function 'clear_results' argument 1 names different: declaration 'set' definition 'rset'. [funcArgNamesDifferent] libgweather-4.4.4/libgweather/third-party/kdtree.c:94:41: note: Function 'clear_results' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:832:41: note: Function 'clear_results' argument 1 names different: declaration 'set' definition 'rset'. libgweather-4.4.4/libgweather/third-party/kdtree.c:620:31: style: Parameter 'set' can be declared as pointer to const [constParameterPointer] libgweather-4.4.4/libgweather/third-party/kdtree.c:630:30: style: Parameter 'rset' can be declared as pointer to const [constParameterPointer] libgweather-4.4.4/libgweather/tools/test_metar.c:53:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tools/test_metar.c:73:9: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_metar.c:91:9: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_metar.c:98:13: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:29:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_OPTION_ARG_DOUBLE [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:73:13: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:73:22: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:84:38: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:84:47: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:85:38: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:85:47: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:86:38: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:86:47: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:87:38: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:87:47: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:41:9: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:44:9: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:47:9: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_sun_moon.c:90:5: error: Memory leak: context [memleak] libgweather-4.4.4/libgweather/tools/test_weather.c:19:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWeatherLocation [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tools/test_weather.c:111:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GWEATHER_PROVIDER_METAR [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tools/test_weather.c:139:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] libgweather-4.4.4/libgweather/tools/test_weather.c:161:9: error: Memory leak: loop [memleak] diff: head libgweather-4.4.4/libgweather/tests/test_libgweather.c:215:32: style: Parameter 'info' can be declared as pointer to const. However it seems that 'weather_updated' is a callback function, if 'info' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libgweather-4.4.4/libgweather/tests/test_libgweather.c:258:5: note: You might need to cast the function pointer here libgweather-4.4.4/libgweather/tests/test_libgweather.c:215:32: note: Parameter 'info' can be declared as pointer to const head libgweather-4.4.4/libgweather/tests/test_libgweather.c:216:29: style: Parameter 'loop' can be declared as pointer to const. However it seems that 'weather_updated' is a callback function, if 'loop' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libgweather-4.4.4/libgweather/tests/test_libgweather.c:258:5: note: You might need to cast the function pointer here libgweather-4.4.4/libgweather/tests/test_libgweather.c:216:29: note: Parameter 'loop' can be declared as pointer to const DONE