2025-05-05 15:22 ftp://ftp.de.debian.org/debian/pool/main/l/lxdm/lxdm_0.5.3.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=motif --library=cairo --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 -j3 platform: Linux-6.8.0-1022-oracle-aarch64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 cppcheck: head 2.17.0 head-info: fcc0493 (2025-05-05 13:08:11 +0200) count: 173 184 elapsed-time: 0.6 0.6 head-timing-info: old-timing-info: head results: lxdm-0.5.3/src/auth.c:107:7: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] lxdm-0.5.3/src/auth.c:123:7: portability: Non reentrant function 'getspnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getspnam_r'. [prohibitedgetspnamCalled] lxdm-0.5.3/src/auth.c:144:8: portability: Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'. [prohibitedcryptCalled] lxdm-0.5.3/src/auth.c:99:15: style: Variable 'sp' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/auth.c:100:8: style: Variable 'real' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/gdm/gdm-languages.c:985:23: debug: Scope::checkVariable found variable 'value' with varid 0. [varid0] lxdm-0.5.3/src/auth.c:101:8: style: Variable 'enc' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/auth.c:156:40: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/auth.c:156:84: style: Parameter 'mcookie' can be declared as const array [constParameter] lxdm-0.5.3/src/auth.c:161:38: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/auth.c:166:42: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/auth.c:171:40: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/config.c:76:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LXDM_DATA_DIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:195:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_ICON_SIZE_DIALOG [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:234:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_RESPONSE_ACCEPT [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:258:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_USER_DIRECTORY_PICTURES [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:303:70: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_ICON_SIZE_DIALOG [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:665:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LXDM_DATA_DIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:698:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-gdk.c:178:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_Escape [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-gdk.c:232:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_KEY_PRESS [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-gdk.c:305:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_WINDOW_TOPLEVEL [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-gdk.c:364:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_IO_STATUS_NORMAL [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:225:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_CTYPE [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:277:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:293:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_CTYPE [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:317:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GNOMELOCALEDIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:424:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBLOCALEDIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:487:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBLOCALEDIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:507:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ISO_CODES_PREFIX [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:609:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:663:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:849:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ISO_CODES_PREFIX [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:893:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ISO_CODES_PREFIX [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/gdm/gdm-languages.c:985:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/config.c:159:4: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] lxdm-0.5.3/src/config.c:723:3: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] lxdm-0.5.3/src/config.c:64:7: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] lxdm-0.5.3/src/config.c:301:6: style: Condition 'added_faces' is always true [knownConditionTrueFalse] lxdm-0.5.3/src/config.c:277:24: note: Assignment 'added_faces=!0', assigned value is 1 lxdm-0.5.3/src/config.c:301:6: note: Condition 'added_faces' is always true lxdm-0.5.3/src/config.c:724:2: error: Memory leak: s [memleak] lxdm-0.5.3/src/config.c:345:49: style: Parameter 'event' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/config.c:722:10: style: Variable 's' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/greeter-gdk.c:143:32: error: Using pointer to local variable 'spy' that is out of scope. [invalidLifetime] lxdm-0.5.3/src/greeter-gdk.c:126:7: note: Array decayed to pointer here. lxdm-0.5.3/src/greeter-gdk.c:137:11: note: Assuming condition is false lxdm-0.5.3/src/greeter-gdk.c:125:8: note: Variable created here. lxdm-0.5.3/src/greeter-gdk.c:143:32: note: Using pointer to local variable 'spy' that is out of scope. lxdm-0.5.3/src/greeter-gdk.c:166:36: style: Parameter 'event' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/greeter-utils.c:83:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_INTERP_BILINEAR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-utils.c:144:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IsViewable [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-utils.c:154:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_LEFT_PTR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter-utils.c:145:6: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] lxdm-0.5.3/src/gdm/gdm-languages.c:338:23: style: Condition 'name!=NULL' is always true [knownConditionTrueFalse] lxdm-0.5.3/src/gdm/gdm-languages.c:969:25: style: Condition 'territory' is always true [knownConditionTrueFalse] lxdm-0.5.3/src/gdm/gdm-languages.c:145:17: error: Memory leak: re [memleak] lxdm-0.5.3/src/gdm/gdm-languages.c:223:15: style: Variable 'old_locale' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/gdm/gdm-languages.c:349:20: style: Variable 'old_locale' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/gdm/gdm-languages.c:415:29: style: Variable 'head' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxcom.c:33:0: error: #error not support unix socket creds [preprocessorErrorDirective] lxdm-0.5.3/src/lxcom.c:33:6: error: #error not support unix socket creds [preprocessorErrorDirective] lxdm-0.5.3/src/greeter.c:253:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XSESSIONS_DIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:557:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XkbAllControlsMask [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:676:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_TYPE_STRING [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:791:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_CAN_FOCUS [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:824:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_SHADOW_NONE [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:1093:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_Escape [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:1113:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LXDM_DATA_DIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:1293:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_IO_STATUS_NORMAL [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:1318:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LXDM_DATA_DIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/numlock.c:17:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XkbNumVirtualMods [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/numlock.c:19:9: style: Variable 's' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/numlock.c:29:24: style: Parameter 'arg' can be declared as const array [constParameter] lxdm-0.5.3/src/pam.c:449:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable d_name [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/pam.c:481:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/pam.c:526:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/pam.c:549:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/pam.c:584:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:114:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:133:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:158:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:575:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:682:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:794:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable d_name [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:824:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:864:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:1026:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LXDM_NUMLOCK_PATH [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:1161:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XSESSIONS_DIR [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:1286:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_KEY_FILE_NONE [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:1553:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:1726:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/lxdm.c:1764:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/greeter.c:840:13: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] lxdm-0.5.3/src/greeter.c:1021:16: style: Condition 'gecos' is always true [knownConditionTrueFalse] lxdm-0.5.3/src/greeter.c:1157:5: warning: Either the condition 'login_entry!=NULL' is redundant or there is possible null pointer dereference: login_entry. [nullPointerRedundantCheck] lxdm-0.5.3/src/greeter.c:1152:19: note: Assuming that condition 'login_entry!=NULL' is not redundant lxdm-0.5.3/src/greeter.c:1157:5: note: Null pointer dereference lxdm-0.5.3/src/greeter.c:993:20: style: Checking if unsigned expression 'count' is less than zero. [unsignedLessThanZero] lxdm-0.5.3/src/greeter.c:451:9: style: Local variable 'lang' shadows outer variable [shadowVariable] lxdm-0.5.3/src/greeter.c:71:19: note: Shadowed declaration lxdm-0.5.3/src/greeter.c:451:9: note: Shadow variable lxdm-0.5.3/src/greeter.c:481:20: style: Local variable 'lang' shadows outer variable [shadowVariable] lxdm-0.5.3/src/greeter.c:71:19: note: Shadowed declaration lxdm-0.5.3/src/greeter.c:481:20: note: Shadow variable lxdm-0.5.3/src/greeter.c:848:8: style: Local variable 'user' shadows outer variable [shadowVariable] lxdm-0.5.3/src/greeter.c:78:14: note: Shadowed declaration lxdm-0.5.3/src/greeter.c:848:8: note: Shadow variable lxdm-0.5.3/src/greeter.c:838:16: style: Variable 'tmbuf' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/greeter.c:869:8: style: Variable 'autologin' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/greeter.c:1091:50: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'login_entry_on_key_press' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] lxdm-0.5.3/src/greeter.c:1154:3: note: You might need to cast the function pointer here lxdm-0.5.3/src/greeter.c:1091:50: note: Parameter 'widget' can be declared as pointer to const lxdm-0.5.3/src/greeter.c:1091:70: style: Parameter 'event' can be declared as pointer to const. However it seems that 'login_entry_on_key_press' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] lxdm-0.5.3/src/greeter.c:1154:3: note: You might need to cast the function pointer here lxdm-0.5.3/src/greeter.c:1091:70: note: Parameter 'event' can be declared as pointer to const lxdm-0.5.3/src/pam.c:101:7: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] lxdm-0.5.3/src/pam.c:117:7: portability: Non reentrant function 'getspnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getspnam_r'. [prohibitedgetspnamCalled] lxdm-0.5.3/src/pam.c:138:8: portability: Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'. [prohibitedcryptCalled] lxdm-0.5.3/src/pam.c:551:5: style: Condition 'session_exit' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/pam.c:538:5: note: Assuming that condition 'session_exit' is not redundant lxdm-0.5.3/src/pam.c:551:5: note: Condition 'session_exit' is always false lxdm-0.5.3/src/pam.c:468:16: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/pam.c:475:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/pam.c:468:16: note: Null pointer dereference lxdm-0.5.3/src/pam.c:469:19: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/pam.c:475:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/pam.c:469:19: note: Null pointer dereference lxdm-0.5.3/src/pam.c:470:17: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/pam.c:475:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/pam.c:470:17: note: Null pointer dereference lxdm-0.5.3/src/pam.c:471:16: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/pam.c:475:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/pam.c:471:16: note: Null pointer dereference lxdm-0.5.3/src/pam.c:445:25: error: Null pointer dereference [nullPointer] lxdm-0.5.3/src/pam.c:93:15: style: Variable 'sp' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/pam.c:94:8: style: Variable 'real' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/pam.c:95:8: style: Variable 'enc' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/pam.c:150:40: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/pam.c:150:84: style: Parameter 'mcookie' can be declared as const array [constParameter] lxdm-0.5.3/src/pam.c:155:38: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/pam.c:160:42: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/pam.c:165:37: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/pam.c:169:35: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/ui.c:49:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/ui.c:140:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_IO_STATUS_NORMAL [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/ui.c:254:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_IO_IN [valueFlowBailoutIncompleteVar] lxdm-0.5.3/src/ui.c:246:6: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] lxdm-0.5.3/src/ui.c:271:2: error: Memory leak: loop [memleak] lxdm-0.5.3/src/ui.c:151:9: style: Local variable 'user' shadows outer variable [shadowVariable] lxdm-0.5.3/src/ui.c:41:12: note: Shadowed declaration lxdm-0.5.3/src/ui.c:151:9: note: Shadow variable lxdm-0.5.3/src/ui.c:158:8: style: Local variable 'ret' shadows outer variable [shadowVariable] lxdm-0.5.3/src/ui.c:134:12: note: Shadowed declaration lxdm-0.5.3/src/ui.c:158:8: note: Shadow variable lxdm-0.5.3/src/ui.c:179:9: style: Local variable 'user' shadows outer variable [shadowVariable] lxdm-0.5.3/src/ui.c:41:12: note: Shadowed declaration lxdm-0.5.3/src/ui.c:179:9: note: Shadow variable lxdm-0.5.3/src/ui.c:187:8: style: Local variable 'ret' shadows outer variable [shadowVariable] lxdm-0.5.3/src/ui.c:134:12: note: Shadowed declaration lxdm-0.5.3/src/ui.c:187:8: note: Shadow variable lxdm-0.5.3/src/ui.c:97:46: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/ui.c:212:35: style: Parameter 'data' can be declared as pointer to const. However it seems that 'on_greeter_exit' is a callback function, if 'data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] lxdm-0.5.3/src/ui.c:256:35: note: You might need to cast the function pointer here lxdm-0.5.3/src/ui.c:212:35: note: Parameter 'data' can be declared as pointer to const lxdm-0.5.3/src/lxdm.c:1265:9: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] lxdm-0.5.3/src/lxdm.c:713:5: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] lxdm-0.5.3/src/lxdm.c:989:14: style: Obsolescent function 'vfork' called. It is recommended to use 'fork' instead. [prohibitedvforkCalled] lxdm-0.5.3/src/lxdm.c:1641:12: portability: Non reentrant function 'getpwent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwent_r'. [prohibitedgetpwentCalled] lxdm-0.5.3/src/lxdm.c:864:33: style: Condition 'ret==-1' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:862:10: note: Assuming that condition 'ret==1' is not redundant lxdm-0.5.3/src/lxdm.c:864:33: note: Condition 'ret==-1' is always false lxdm-0.5.3/src/lxdm.c:944:10: style: Condition 'level=='6'' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:943:21: note: Calling function 'get_run_level' returns 53 lxdm-0.5.3/src/lxdm.c:943:21: note: Assignment 'level=get_run_level()', assigned value is 53 lxdm-0.5.3/src/lxdm.c:944:10: note: Condition 'level=='6'' is always false lxdm-0.5.3/src/lxdm.c:944:24: style: Condition 'level=='0'' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:943:21: note: Calling function 'get_run_level' returns 53 lxdm-0.5.3/src/lxdm.c:943:21: note: Assignment 'level=get_run_level()', assigned value is 53 lxdm-0.5.3/src/lxdm.c:944:24: note: Condition 'level=='0'' is always false lxdm-0.5.3/src/lxdm.c:1060:10: style: Condition 'level=='0'' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:1059:21: note: Calling function 'get_run_level' returns 53 lxdm-0.5.3/src/lxdm.c:1059:21: note: Assignment 'level=get_run_level()', assigned value is 53 lxdm-0.5.3/src/lxdm.c:1060:10: note: Condition 'level=='0'' is always false lxdm-0.5.3/src/lxdm.c:1060:24: style: Condition 'level=='6'' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:1059:21: note: Calling function 'get_run_level' returns 53 lxdm-0.5.3/src/lxdm.c:1059:21: note: Assignment 'level=get_run_level()', assigned value is 53 lxdm-0.5.3/src/lxdm.c:1060:24: note: Condition 'level=='6'' is always false lxdm-0.5.3/src/lxdm.c:1102:10: style: Condition 'level=='0'' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:1101:21: note: Calling function 'get_run_level' returns 53 lxdm-0.5.3/src/lxdm.c:1101:21: note: Assignment 'level=get_run_level()', assigned value is 53 lxdm-0.5.3/src/lxdm.c:1102:10: note: Condition 'level=='0'' is always false lxdm-0.5.3/src/lxdm.c:1102:24: style: Condition 'level=='6'' is always false [knownConditionTrueFalse] lxdm-0.5.3/src/lxdm.c:1101:21: note: Calling function 'get_run_level' returns 53 lxdm-0.5.3/src/lxdm.c:1101:21: note: Assignment 'level=get_run_level()', assigned value is 53 lxdm-0.5.3/src/lxdm.c:1102:24: note: Condition 'level=='6'' is always false lxdm-0.5.3/src/lxdm.c:1199:2: error: Memory leak: name [memleak] lxdm-0.5.3/src/lxdm.c:1199:2: error: Memory leak: exec [memleak] lxdm-0.5.3/src/lxdm.c:1199:2: error: Memory leak: desktop_names [memleak] lxdm-0.5.3/src/lxdm.c:1238:4: error: Mismatching allocation and deallocation: list [mismatchAllocDealloc] lxdm-0.5.3/src/lxdm.c:1235:9: note: Mismatching allocation and deallocation: list lxdm-0.5.3/src/lxdm.c:1238:4: note: Mismatching allocation and deallocation: list lxdm-0.5.3/src/lxdm.c:1308:40: error: Dereferencing 'session' after it is deallocated / released [deallocuse] lxdm-0.5.3/src/lxdm.c:813:16: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/lxdm.c:820:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/lxdm.c:813:16: note: Null pointer dereference lxdm-0.5.3/src/lxdm.c:814:19: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/lxdm.c:820:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/lxdm.c:814:19: note: Null pointer dereference lxdm-0.5.3/src/lxdm.c:815:17: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/lxdm.c:820:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/lxdm.c:815:17: note: Null pointer dereference lxdm-0.5.3/src/lxdm.c:816:16: warning: Either the condition '!pw' is redundant or there is possible null pointer dereference: pw. [nullPointerRedundantCheck] lxdm-0.5.3/src/lxdm.c:820:6: note: Assuming that condition '!pw' is not redundant lxdm-0.5.3/src/lxdm.c:816:16: note: Null pointer dereference lxdm-0.5.3/src/lxdm.c:1312:72: warning: Either the condition 'lang' is redundant or there is possible null pointer dereference: lang. [nullPointerRedundantCheck] lxdm-0.5.3/src/lxdm.c:1405:6: note: Assuming that condition 'lang' is not redundant lxdm-0.5.3/src/lxdm.c:1312:72: note: Null pointer dereference lxdm-0.5.3/src/lxdm.c:1553:30: warning: If memory allocation fails, then there is a possible null pointer dereference: bt_strs [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:1550:27: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:1550:27: note: Assignment 'bt_strs=backtrace_symbols(array,size)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:1553:30: note: Null pointer dereference lxdm-0.5.3/src/lxdm.c:790:25: error: Null pointer dereference [nullPointer] lxdm-0.5.3/src/lxdm.c:167:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:178:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:189:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:201:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:212:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:215:14: style: Variable 's' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:223:45: style: Parameter 's' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/lxdm.c:233:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:236:14: style: Variable 's' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:245:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:248:14: style: Variable 's' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:528:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:583:55: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'log_ignore' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] lxdm-0.5.3/src/lxdm.c:1777:46: note: You might need to cast the function pointer here lxdm-0.5.3/src/lxdm.c:583:55: note: Parameter 'user_data' can be declared as pointer to const lxdm-0.5.3/src/lxdm.c:673:59: style: Parameter 'data' can be declared as const array [constParameter] lxdm-0.5.3/src/lxdm.c:699:17: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:721:50: style: Parameter 'pw' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/lxdm.c:765:35: style: Parameter 'user' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/lxdm.c:765:47: style: Parameter 'pass' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/lxdm.c:1129:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:1570:39: style: Parameter 'data' can be declared as pointer to const. However it seems that 'lxdm_signal_handler' is a callback function, if 'data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] lxdm-0.5.3/src/lxdm.c:1725:35: note: You might need to cast the function pointer here lxdm-0.5.3/src/lxdm.c:1570:39: note: Parameter 'data' can be declared as pointer to const lxdm-0.5.3/src/lxdm.c:1595:48: style: Parameter 'pw' can be declared as pointer to const [constParameterPointer] lxdm-0.5.3/src/lxdm.c:1643:9: style: Variable 'valid_shell' can be declared as pointer to const [constVariablePointer] lxdm-0.5.3/src/lxdm.c:1689:13: style: Variable 's' can be declared as pointer to const [constVariablePointer] diff: head lxdm-0.5.3/src/config.c:159:4: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] 2.17.0 lxdm-0.5.3/src/config.c:170:10: warning: If memory allocation fails, then there is a possible null pointer dereference: path [nullPointerOutOfMemory] lxdm-0.5.3/src/config.c:167:31: note: Assuming allocation function fails lxdm-0.5.3/src/config.c:167:31: note: Assignment 'path=g_build_filename(user->pw_dir,".face",NULL)', assigned value is 0 lxdm-0.5.3/src/config.c:170:10: note: Null pointer dereference head lxdm-0.5.3/src/config.c:722:10: style: Variable 's' can be declared as pointer to const [constVariablePointer] head lxdm-0.5.3/src/config.c:723:3: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] head lxdm-0.5.3/src/gdm/gdm-languages.c:338:23: style: Condition 'name!=NULL' is always true [knownConditionTrueFalse] 2.17.0 lxdm-0.5.3/src/gdm/gdm-languages.c:587:22: warning: If memory allocation fails, then there is a possible null pointer dereference: items [nullPointerOutOfMemory] lxdm-0.5.3/src/gdm/gdm-languages.c:585:24: note: Assuming allocation function fails lxdm-0.5.3/src/gdm/gdm-languages.c:585:24: note: Assignment 'items=g_strsplit(list,"; ",2)', assigned value is 0 lxdm-0.5.3/src/gdm/gdm-languages.c:587:22: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/greeter.c:194:13: warning: If memory allocation fails, then there is a possible null pointer dereference: user [nullPointerOutOfMemory] lxdm-0.5.3/src/greeter.c:193:18: note: Assuming allocation function fails lxdm-0.5.3/src/greeter.c:193:18: note: Assignment 'user=g_strdup(gtk_entry_get_text((GtkEntry*)(entry)))', assigned value is 0 lxdm-0.5.3/src/greeter.c:194:13: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/greeter.c:336:14: warning: If memory allocation fails, then there is a possible null pointer dereference: lang2 [nullPointerOutOfMemory] lxdm-0.5.3/src/greeter.c:335:19: note: Assuming allocation function fails lxdm-0.5.3/src/greeter.c:335:19: note: Assignment 'lang2=g_strdup(lang)', assigned value is 0 lxdm-0.5.3/src/greeter.c:336:14: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/greeter.c:419:11: warning: If memory allocation fails, then there is a possible null pointer dereference: lang2 [nullPointerOutOfMemory] lxdm-0.5.3/src/greeter.c:418:16: note: Assuming allocation function fails lxdm-0.5.3/src/greeter.c:418:16: note: Assignment 'lang2=g_strdup(lang)', assigned value is 0 lxdm-0.5.3/src/greeter.c:419:11: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/greeter.c:521:23: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: cmd [nullPointerOutOfMemory] lxdm-0.5.3/src/greeter.c:519:22: note: Assuming allocation function fails lxdm-0.5.3/src/greeter.c:519:22: note: Assignment 'cmd=g_strdup_printf("setxkbmap %s",keyboard)', assigned value is 0 lxdm-0.5.3/src/greeter.c:521:23: note: Null pointer dereference head lxdm-0.5.3/src/lxcom.c:33:6: error: #error not support unix socket creds [preprocessorErrorDirective] head lxdm-0.5.3/src/lxdm.c:1265:9: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] 2.17.0 lxdm-0.5.3/src/lxdm.c:1507:5: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: users [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:1479:18: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:1479:18: note: Assignment 'users=g_strsplit(p," ",8)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:1507:5: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:1601:13: warning: If memory allocation fails, then there is a possible null pointer dereference: face [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:1600:22: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:1600:22: note: Assignment 'face=g_strdup_printf("%s/.face",pw->pw_dir)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:1601:13: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:682:10: warning: If memory allocation fails, then there is a possible null pointer dereference: file [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:733:20: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:733:20: note: Assignment 'authfile=g_strdup(authfile)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:750:22: note: Calling function 'xauth_write_file', 1st argument 'authfile' value is 0 lxdm-0.5.3/src/lxdm.c:682:10: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:710:22: warning: If memory allocation fails, then there is a possible null pointer dereference: authfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:708:28: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:708:28: note: Assignment 'authfile=g_strdup_printf("/var/run/lxdm/lxdm-:%d.auth",s->display)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:710:22: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:711:9: warning: If memory allocation fails, then there is a possible null pointer dereference: authfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:708:28: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:708:28: note: Assignment 'authfile=g_strdup_printf("/var/run/lxdm/lxdm-:%d.auth",s->display)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:711:9: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:749:9: warning: If memory allocation fails, then there is a possible null pointer dereference: authfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:733:20: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:733:20: note: Assignment 'authfile=g_strdup(authfile)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:749:9: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:754:10: warning: If memory allocation fails, then there is a possible null pointer dereference: authfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:753:29: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:753:29: note: Assignment 'authfile=g_strdup_printf("/var/run/lxdm/.Xauth%d",pw->pw_uid)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:754:10: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:758:8: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: authfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:753:29: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:753:29: note: Assignment 'authfile=g_strdup_printf("/var/run/lxdm/.Xauth%d",pw->pw_uid)', assigned value is 0 lxdm-0.5.3/src/lxdm.c:758:8: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:855:13: warning: If memory allocation fails, then there is a possible null pointer dereference: lockfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:853:37: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:853:37: note: Assignment 'lockfile=g_strdup("/var/run/lxdm.pid")', assigned value is 0 lxdm-0.5.3/src/lxdm.c:855:13: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/lxdm.c:897:16: warning: If memory allocation fails, then there is a possible null pointer dereference: lockfile [nullPointerOutOfMemory] lxdm-0.5.3/src/lxdm.c:896:40: note: Assuming allocation function fails lxdm-0.5.3/src/lxdm.c:896:40: note: Assignment 'lockfile=g_strdup("/var/run/lxdm.pid")', assigned value is 0 lxdm-0.5.3/src/lxdm.c:897:16: note: Null pointer dereference 2.17.0 lxdm-0.5.3/src/ui.c:103:18: warning: If memory allocation fails, then there is a possible null pointer dereference: temp [nullPointerOutOfMemory] lxdm-0.5.3/src/ui.c:102:24: note: Assuming allocation function fails lxdm-0.5.3/src/ui.c:102:24: note: Assignment 'temp=g_strdup_printf(" %s=",name)', assigned value is 0 lxdm-0.5.3/src/ui.c:103:18: note: Null pointer dereference DONE