2025-07-04 12:52 ftp://ftp.de.debian.org/debian/pool/main/libr/librcc/librcc_0.2.13+ds.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=bsd --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 -j6 platform: Linux-6.1.0-37-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.67 compiler: g++ (Debian 12.2.0-14+deb12u1) 12.2.0 cppcheck: head 2.17.0 head-info: 326a930 (2025-07-04 13:36:17 +0200) count: 101 107 elapsed-time: 1.2 1.2 head-timing-info: old-timing-info: head results: librcc-librcc-0.2.13/engines/libguess.c:63:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rcc_autocharset_id [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/examples/example1.c:35:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_CLASS_STANDARD [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/examples/example2.c:37:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_CLASS_TRANSLATE_LOCALE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/examples/rcc-gtk-config.c:78:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/external/rccexternal.c:111:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNIX [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/docs/api/rcc-recode.c:198:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable name [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/docs/api/rcc-recode.c:237:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_OPTION_LEARNING_FLAG_USE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/docs/api/rcc-recode.c:532:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/docs/api/rcc-recode.c:574:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/docs/api/rcc-recode.c:683:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_OPTION_TRANSLATE_OFF [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/examples/rcc-gtk-config.c:129:12: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] librcc-librcc-0.2.13/examples/rcc-gtk-config.c:141:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] librcc-librcc-0.2.13/examples/rcc-gtk-config.c:142:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] librcc-librcc-0.2.13/examples/rcc-gtk-config.c:151:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] librcc-librcc-0.2.13/external/rccexternal.c:117:63: error: Resource leak: s [resourceLeak] librcc-librcc-0.2.13/external/rccexternal.c:120:2: error: Resource leak: s [resourceLeak] librcc-librcc-0.2.13/src/librcc.c:493:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable parents [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/engine.c:168:17: style: Variable 'info' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/fs.c:100:28: style: Condition 'rccIsFile(temp)' is always false [knownConditionTrueFalse] librcc-librcc-0.2.13/src/fs.c:100:28: note: Calling function 'rccIsFile' returns 0 librcc-librcc-0.2.13/src/fs.c:100:28: note: Condition 'rccIsFile(temp)' is always false librcc-librcc-0.2.13/src/fs.c:197:15: style: Condition 'rccIsFile(result)' is always false [knownConditionTrueFalse] librcc-librcc-0.2.13/src/fs.c:197:15: note: Calling function 'rccIsFile' returns 0 librcc-librcc-0.2.13/src/fs.c:197:15: note: Condition 'rccIsFile(result)' is always false librcc-librcc-0.2.13/src/fs.c:84:17: style: Unused variable: st [unusedVariable] librcc-librcc-0.2.13/src/plugin.c:180:9: style: Condition '!handle' is always true [knownConditionTrueFalse] librcc-librcc-0.2.13/src/plugin.c:179:27: note: Calling function 'rccPluginLoad' returns 0 librcc-librcc-0.2.13/src/plugin.c:179:27: note: Assignment 'handle=rccPluginLoad(RCC_PLUGIN_TYPE_ENGINE,name)', assigned value is 0 librcc-librcc-0.2.13/src/plugin.c:180:9: note: Condition '!handle' is always true librcc-librcc-0.2.13/src/plugin.c:36:41: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/src/opt.c:82:29: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/opt.c:142:77: style: Parameter 'desc' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/src/lngrecode.c:43:37: style: Redundant condition: class_type==RCC_CLASS_FS. 'A || (!A && B)' is equivalent to 'A || B' [redundantCondition] librcc-librcc-0.2.13/docs/api/rcc-recode.c:107:28: style: Parameter 'argv' can be declared as const array [constParameter] librcc-librcc-0.2.13/docs/api/rcc-recode.c:223:11: style: Variable 'arg' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/docs/api/rcc-recode.c:228:11: style: Variable 'from' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/docs/api/rcc-recode.c:229:11: style: Variable 'to' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/docs/api/rcc-recode.c:561:20: style: Variable 'entry' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/rcchome.c:47:11: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/rccenca.c:101:25: style: Unused variable: internal [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:186:9: style: Unused variable: err [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:187:18: style: Unused variable: i [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:187:20: style: Unused variable: j [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:187:22: style: Unused variable: k [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:187:24: style: Unused variable: l [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:191:10: style: Unused variable: charsets [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:192:12: style: Unused variable: n_charsets [unusedVariable] librcc-librcc-0.2.13/src/rccenca.c:193:17: style: Unused variable: charset [unusedVariable] librcc-librcc-0.2.13/src/rccexternal.c:297:9: style: Condition 'sock' is always true [knownConditionTrueFalse] librcc-librcc-0.2.13/src/rccexternal.c:296:30: note: Calling function 'rccExternalConnect' returns -1 librcc-librcc-0.2.13/src/rccexternal.c:296:30: note: Assignment 'sock=rccExternalConnect(RCC_EXTERNAL_MODULE_OPTIONS)', assigned value is -1 librcc-librcc-0.2.13/src/rccexternal.c:297:9: note: Condition 'sock' is always true librcc-librcc-0.2.13/src/rccexternal.c:185:37: style: Parameter 'buffer' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/src/rcciconv.c:71:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iconv_t [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rcciconv.c:77:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iconv_t [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rcciconv.c:87:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable iconv_t [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rcclocale.c:79:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rcclocale.c:115:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_CTYPE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rcciconv.c:57:36: warning: Function 'rccIConvOpen' argument order different: declaration 'from, to' definition 'to, from' [funcArgOrderDifferent] librcc-librcc-0.2.13/src/librcc.h:1119:36: note: Function 'rccIConvOpen' argument order different: declaration 'from, to' definition 'to, from' librcc-librcc-0.2.13/src/rcciconv.c:57:36: note: Function 'rccIConvOpen' argument order different: declaration 'from, to' definition 'to, from' librcc-librcc-0.2.13/src/rccspell.c:58:33: style:inconclusive: Function 'rccSpellerFree' argument 1 names different: declaration 'speller' definition 'rccspeller'. [funcArgNamesDifferent] librcc-librcc-0.2.13/src/librcc.h:1224:33: note: Function 'rccSpellerFree' argument 1 names different: declaration 'speller' definition 'rccspeller'. librcc-librcc-0.2.13/src/rccspell.c:58:33: note: Function 'rccSpellerFree' argument 1 names different: declaration 'speller' definition 'rccspeller'. librcc-librcc-0.2.13/src/rcciconv.c:35:88: style: Parameter 'out_left' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/src/lngconfig.c:313:6: style: Condition 'mutex' is always true [knownConditionTrueFalse] librcc-librcc-0.2.13/src/lngconfig.c:314:6: style: Condition 'dcharsets' is always true [knownConditionTrueFalse] librcc-librcc-0.2.13/src/lngconfig.c:315:6: style: Condition 'charsets' is always true [knownConditionTrueFalse] librcc-librcc-0.2.13/src/rcclocale.c:76:22: style: Condition 'locale_class>=0' is always false [knownConditionTrueFalse] librcc-librcc-0.2.13/src/rcclocale.c:75:43: note: Calling function 'rccLocaleGetClassByName' returns -1 librcc-librcc-0.2.13/src/rcclocale.c:75:43: note: Assignment 'locale_class=rccLocaleGetClassByName(lv)', assigned value is -1 librcc-librcc-0.2.13/src/rcclocale.c:76:22: note: Condition 'locale_class>=0' is always false librcc-librcc-0.2.13/src/rcclocale.c:130:22: style: Condition 'locale_class>=0' is always false [knownConditionTrueFalse] librcc-librcc-0.2.13/src/rcclocale.c:113:43: note: Calling function 'rccLocaleGetClassByName' returns -1 librcc-librcc-0.2.13/src/rcclocale.c:113:43: note: Assignment 'locale_class=rccLocaleGetClassByName(lv)', assigned value is -1 librcc-librcc-0.2.13/src/rcclocale.c:130:22: note: Condition 'locale_class>=0' is always false librcc-librcc-0.2.13/src/lngconfig.c:116:20: warning: Either the condition 'engine' is redundant or there is possible null pointer dereference: engine. [nullPointerRedundantCheck] librcc-librcc-0.2.13/src/lngconfig.c:116:10: note: Assuming that condition 'engine' is not redundant librcc-librcc-0.2.13/src/lngconfig.c:116:20: note: Null pointer dereference librcc-librcc-0.2.13/src/lngconfig.c:133:20: warning: Either the condition 'engine' is redundant or there is possible null pointer dereference: engine. [nullPointerRedundantCheck] librcc-librcc-0.2.13/src/lngconfig.c:133:10: note: Assuming that condition 'engine' is not redundant librcc-librcc-0.2.13/src/lngconfig.c:133:20: note: Null pointer dereference librcc-librcc-0.2.13/src/rcclocale.c:109:11: style: Variable 'l' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/lngconfig.c:464:22: style: Variable 'parents' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/ui/gtk.c:230:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rcc_language_id [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/gtk.c:377:75: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_OPTION_RANGE_TYPE_BOOLEAN [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/gtk.c:416:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/gtk.c:224:17: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] librcc-librcc-0.2.13/ui/gtk.c:372:12: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] librcc-librcc-0.2.13/ui/gtk.c:399:11: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] librcc-librcc-0.2.13/ui/gtk.c:427:12: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] librcc-librcc-0.2.13/ui/gtk.c:144:22: style: Variable 'option_name' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/ui/rccmenu.c:91:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rcc_class_id [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/rccmenu.c:96:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rcc_option [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/rccmenu.c:102:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rcc_option_type [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/rccmenu.c:112:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable rcc_option_type [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/rccmenu.c:122:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_OPTION_TYPE_INVISIBLE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/rccmenu.c:133:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_OPTION_TYPE_INVISIBLE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rccxml.c:70:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XML_TEXT_NODE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rccxml.c:153:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XML_ELEMENT_NODE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rccxml.c:348:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/src/rccxml.c:540:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/rccnames.c:207:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:75:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XML_TEXT_NODE [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:231:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_LANGUAGES [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:465:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:532:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:547:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:559:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:639:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:658:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:700:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:753:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:844:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RCC_MAX_OPTIONS [valueFlowBailoutIncompleteVar] librcc-librcc-0.2.13/ui/librccui.c:470:2: error: Memory leak: options [memleak] librcc-librcc-0.2.13/ui/librccui.c:764:84: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/ui/librccui.c:788:83: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/ui/librccui.c:822:80: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] librcc-librcc-0.2.13/ui/librccui.c:828:22: style: Variable 'optname' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/recode.c:280:11: style: Condition 'best_string' is always true [knownConditionTrueFalse] librcc-librcc-0.2.13/src/recode.c:284:16: style: Condition 'best_string' is always false [knownConditionTrueFalse] librcc-librcc-0.2.13/src/recode.c:277:9: note: Assuming that condition 'best_string' is not redundant librcc-librcc-0.2.13/src/recode.c:284:16: note: Condition 'best_string' is always false librcc-librcc-0.2.13/src/rccxml.c:472:17: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] librcc-librcc-0.2.13/src/recode.c:79:22: style: Variable 'parents' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/recode.c:310:22: style: Variable 'list' can be declared as pointer to const [constVariablePointer] librcc-librcc-0.2.13/src/recode.c:470:11: style: Variable 'translate' can be declared as pointer to const [constVariablePointer] diff: 2.17.0 librcc-librcc-0.2.13/docs/api/rcc-recode.c:578:13: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 librcc-librcc-0.2.13/docs/api/rcc-recode.c:581:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 librcc-librcc-0.2.13/docs/api/rcc-recode.c:633:10: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 librcc-librcc-0.2.13/docs/api/rcc-recode.c:641:10: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 librcc-librcc-0.2.13/docs/api/rcc-recode.c:644:11: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 librcc-librcc-0.2.13/docs/api/rcc-recode.c:655:14: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] DONE