2025-06-30 15:26 ftp://ftp.de.debian.org/debian/pool/main/s/sagan/sagan_1.2.0.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=libcurl --library=pcre --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: bc2755d (2025-06-30 15:13:10 +0200) count: 393 394 elapsed-time: 14.2 21.0 head-timing-info: old-timing-info: head results: sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:44:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:69:33: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'destroy' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:55:5: note: You might need to cast the function pointer here sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:69:33: note: Parameter 'widget' can be declared as pointer to const sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:69:52: style: Parameter 'data' can be declared as pointer to const. However it seems that 'destroy' is a callback function, if 'data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:55:5: note: You might need to cast the function pointer here sagan-1.2.0/extra/sagan-gtk/sagan-gtk.c:69:52: note: Parameter 'data' can be declared as pointer to const sagan-1.2.0/extra/sagan-notify/sagan-notify.c:41:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/credits.c:37:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/classifications.c:73:117: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/classifications.c:76:45: warning: Either the condition '(classfile=fopen(ruleset,"r"))==NULL' is redundant or there is possible null pointer dereference: classfile. [nullPointerRedundantCheck] sagan-1.2.0/src/classifications.c:71:45: note: Assuming that condition '(classfile=fopen(ruleset,"r"))==NULL' is not redundant sagan-1.2.0/src/classifications.c:76:45: note: Null pointer dereference sagan-1.2.0/src/classifications.c:109:68: warning: Either the condition 'laststring==NULL' is redundant or there is possible null pointer dereference: laststring. [nullPointerRedundantCheck] sagan-1.2.0/src/classifications.c:103:29: note: Assuming that condition 'laststring==NULL' is not redundant sagan-1.2.0/src/classifications.c:109:68: note: Null pointer dereference sagan-1.2.0/src/classifications.c:118:63: warning: Either the condition 'laststring==NULL' is redundant or there is possible null pointer dereference: laststring. [nullPointerRedundantCheck] sagan-1.2.0/src/classifications.c:113:29: note: Assuming that condition 'laststring==NULL' is not redundant sagan-1.2.0/src/classifications.c:111:34: note: Assignment to 'laststring=strtok_r(NULL,",",&saveptr)' sagan-1.2.0/src/classifications.c:111:24: note: laststring is assigned 'strtok_r(NULL,",",&saveptr)' here. sagan-1.2.0/src/classifications.c:118:63: note: Null pointer dereference sagan-1.2.0/src/classifications.c:127:30: warning: Either the condition 'laststring==NULL' is redundant or there is possible null pointer dereference: laststring. [nullPointerRedundantCheck] sagan-1.2.0/src/classifications.c:122:29: note: Assuming that condition 'laststring==NULL' is not redundant sagan-1.2.0/src/classifications.c:120:34: note: Assignment to 'laststring=strtok_r(NULL,",",&saveptr)' sagan-1.2.0/src/classifications.c:120:24: note: laststring is assigned 'strtok_r(NULL,",",&saveptr)' here. sagan-1.2.0/src/classifications.c:127:30: note: Null pointer dereference sagan-1.2.0/src/gen-msg.c:71:31: warning: Either the condition '(genmapfile=fopen(genmap,"r"))==NULL' is redundant or there is possible null pointer dereference: genmapfile. [nullPointerRedundantCheck] sagan-1.2.0/src/gen-msg.c:66:45: note: Assuming that condition '(genmapfile=fopen(genmap,"r"))==NULL' is not redundant sagan-1.2.0/src/gen-msg.c:71:31: note: Null pointer dereference sagan-1.2.0/src/gen-msg.c:121:69: warning: Either the condition 'gen3==NULL' is redundant or there is possible null pointer dereference: gen3. [nullPointerRedundantCheck] sagan-1.2.0/src/gen-msg.c:112:23: note: Assuming that condition 'gen3==NULL' is not redundant sagan-1.2.0/src/gen-msg.c:110:28: note: Assignment to 'gen3=strtok_r(NULL,"|",&saveptr)' sagan-1.2.0/src/gen-msg.c:110:18: note: gen3 is assigned 'strtok_r(NULL,"|",&saveptr)' here. sagan-1.2.0/src/gen-msg.c:121:69: note: Null pointer dereference sagan-1.2.0/src/gen-msg.c:153:31: warning: Possible null pointer dereference: msg [nullPointer] sagan-1.2.0/src/gen-msg.c:142:15: note: Assignment 'msg=NULL', assigned value is 0 sagan-1.2.0/src/gen-msg.c:144:16: note: Assuming condition is false sagan-1.2.0/src/gen-msg.c:153:31: note: Null pointer dereference sagan-1.2.0/src/gen-msg.c:142:11: style: Variable 'msg' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/aetas.c:83:14: error: Buffer is accessed out of bounds: hour_tmp [bufferAccessOutOfBounds] sagan-1.2.0/src/aetas.c:84:14: error: Buffer is accessed out of bounds: minute_tmp [bufferAccessOutOfBounds] sagan-1.2.0/src/ignore-list.c:67:44: warning: Either the condition '(droplist=fopen(config->sagan_droplistfile,"r"))==NULL' is redundant or there is possible null pointer dereference: droplist. [nullPointerRedundantCheck] sagan-1.2.0/src/ignore-list.c:61:71: note: Assuming that condition '(droplist=fopen(config->sagan_droplistfile,"r"))==NULL' is not redundant sagan-1.2.0/src/ignore-list.c:67:44: note: Null pointer dereference sagan-1.2.0/src/aetas.c:76:15: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/aetas.c:81:11: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/aetas.c:61:16: style: Variable 'now_utime' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/json-handler.c:98:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/json-handler.c:74:36: warning: Logical disjunction always evaluates to true: Event->ip_proto != 1 || Event->ip_proto != 6. [incorrectLogicOperator] sagan-1.2.0/src/json-handler.c:74:60: warning: Logical disjunction always evaluates to true: Event->ip_proto != 6 || Event->ip_proto != 17. [incorrectLogicOperator] sagan-1.2.0/src/json-handler.c:53:11: style: Variable 'proto' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/json-handler.c:54:11: style: Variable 'drop' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/lockfile.c:75:157: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/lockfile.c:137:136: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/after.c:80:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/after.c:183:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/after.c:284:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/after.c:395:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/after.c:497:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/after.c:66:89: style:inconclusive: Function 'After_By_Src' argument 4 names different: declaration 'select' definition 'selector'. [funcArgNamesDifferent] sagan-1.2.0/src/after.h:21:89: note: Function 'After_By_Src' argument 4 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:66:89: note: Function 'After_By_Src' argument 4 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:169:89: style:inconclusive: Function 'After_By_Dst' argument 4 names different: declaration 'select' definition 'selector'. [funcArgNamesDifferent] sagan-1.2.0/src/after.h:22:89: note: Function 'After_By_Dst' argument 4 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:169:89: note: Function 'After_By_Dst' argument 4 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:270:77: style:inconclusive: Function 'After_By_Username' argument 3 names different: declaration 'select' definition 'selector'. [funcArgNamesDifferent] sagan-1.2.0/src/after.h:23:77: note: Function 'After_By_Username' argument 3 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:270:77: note: Function 'After_By_Username' argument 3 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:381:75: style:inconclusive: Function 'After_By_SrcPort' argument 3 names different: declaration 'select' definition 'selector'. [funcArgNamesDifferent] sagan-1.2.0/src/after.h:24:75: note: Function 'After_By_SrcPort' argument 3 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:381:75: note: Function 'After_By_SrcPort' argument 3 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:483:75: style:inconclusive: Function 'After_By_DstPort' argument 3 names different: declaration 'select' definition 'selector'. [funcArgNamesDifferent] sagan-1.2.0/src/after.h:25:75: note: Function 'After_By_DstPort' argument 3 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:483:75: note: Function 'After_By_DstPort' argument 3 names different: declaration 'select' definition 'selector'. sagan-1.2.0/src/after.c:66:70: style: Parameter 'ip_src_bits' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:66:89: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:66:105: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:72:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/after.c:169:70: style: Parameter 'ip_dst_bits' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:169:89: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:169:105: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:175:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/after.c:270:77: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:270:93: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:276:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/after.c:381:75: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:387:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/after.c:483:75: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/after.c:489:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/output-plugins/eve.c:47:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_SYSLOGMSG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/external.c:62:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_SYSLOGMSG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/external.c:173:7: style: Variable 'n' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/output-plugins/external.c:170:7: note: n is assigned sagan-1.2.0/src/output-plugins/external.c:173:7: note: n is overwritten sagan-1.2.0/src/parsers/hash.c:44:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_SYSLOGMSG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/ipc.c:1098:137: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/ipc.c:1134:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_CREAT [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:171:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_KEY_LENGTH [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:219:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:240:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:249:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:354:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:457:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:500:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_MAGIC_LEN [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:564:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_MDS_GF_FDBK [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:595:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_KEY_LENGTH [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:715:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:808:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:817:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:826:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_BLOCK_SIZE [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:868:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_ROUNDS [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:956:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_RS_GF_FDBK [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:982:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TwoFish_P_01 [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/parsers/port.c:74:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_SYSLOGMSG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/parsers/port.c:255:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_SYSLOGMSG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/parsers/port.c:56:27: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/parsers/port.c:64:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/parsers/port.c:241:27: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/parsers/port.c:248:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/parsers/port.c:156:19: style: Variable 'token' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/parsers/port.c:196:19: style: Variable 'token' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/parsers/proto.c:93:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable nocase [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/parsers/strstr-asm/strstr-hook.c:94:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_SYSLOGMSG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processor.c:86:12: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:86:12: note: Null pointer dereference sagan-1.2.0/src/processor.c:108:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:108:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:109:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:109:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:110:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:110:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:111:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:111:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:112:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:112:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:113:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:113:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:114:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:114:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:115:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:115:21: note: Null pointer dereference sagan-1.2.0/src/processor.c:116:21: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: SaganProcSyslog_LOCAL [nullPointerOutOfMemory] sagan-1.2.0/src/processor.c:79:35: note: Assuming allocation function fails sagan-1.2.0/src/processor.c:79:35: note: Assignment 'SaganProcSyslog_LOCAL=malloc(sizeof(struct _Sagan_Proc_Syslog))', assigned value is 0 sagan-1.2.0/src/processor.c:116:21: note: Null pointer dereference sagan-1.2.0/src/processors/blacklist.c:86:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXIPBIT [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/blacklist.c:258:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable range [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/blacklist.c:290:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ip_bits [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/parsers/hash.c:42:23: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/processors/dynamic-rules.c:75:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dynamic_ruleset [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:167:28: style: Parameter 'userkey' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:235:41: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:805:36: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:805:48: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:829:37: style: Parameter 'b' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:838:38: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:964:64: style: Parameter 'k32' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:1009:37: style: Parameter 'lsBox' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:1017:37: style: Parameter 'lsBox' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/output-plugins/snortsam-twofish.c:1025:36: style: Parameter 'lsBox' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/parsers/ip.c:93:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:103:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXIPBIT [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:547:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXIPBIT [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:596:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_PARSE_IP [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:634:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:662:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:690:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:717:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:744:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:771:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:798:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:825:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DEBUG [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/perfmon.c:135:74: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/perfmon.c:350:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERROR [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/perfmon.c:75:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/processors/perfmon.c:125:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/processors/perfmon.c:322:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/processors/perfmon.c:344:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/processors/perfmon.c:72:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/perfmon.c:319:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/perfmon.c:341:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/perfmon.c:67:24: style: Variable 'total' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/perfmon.c:68:26: style: Variable 'seconds' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/track-clients.c:80:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXIPBIT [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/track-clients.c:151:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _Sagan_Processor_Info [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/track-clients.c:209:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _Sagan_Proc_Syslog [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/track-clients.c:83:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/processors/track-clients.c:201:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/processors/track-clients.c:162:57: style: Variable 'processor_info_track_client->processor_name' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/processors/track-clients.c:160:57: note: processor_info_track_client->processor_name is assigned sagan-1.2.0/src/processors/track-clients.c:162:57: note: processor_info_track_client->processor_name is overwritten sagan-1.2.0/src/processors/track-clients.c:77:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/track-clients.c:194:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/blacklist.c:115:45: warning: Either the condition '(blacklist=fopen(blacklist_filename,"r"))==NULL' is redundant or there is possible null pointer dereference: blacklist. [nullPointerRedundantCheck] sagan-1.2.0/src/processors/blacklist.c:106:64: note: Assuming that condition '(blacklist=fopen(blacklist_filename,"r"))==NULL' is not redundant sagan-1.2.0/src/processors/blacklist.c:115:45: note: Null pointer dereference sagan-1.2.0/src/references.c:69:116: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/references.c:72:31: warning: Either the condition '(reffile=fopen(ruleset,"r"))==NULL' is redundant or there is possible null pointer dereference: reffile. [nullPointerRedundantCheck] sagan-1.2.0/src/references.c:67:43: note: Assuming that condition '(reffile=fopen(ruleset,"r"))==NULL' is not redundant sagan-1.2.0/src/references.c:72:31: note: Null pointer dereference sagan-1.2.0/src/references.c:105:60: warning: Either the condition 'laststring==NULL' is redundant or there is possible null pointer dereference: laststring. [nullPointerRedundantCheck] sagan-1.2.0/src/references.c:100:29: note: Assuming that condition 'laststring==NULL' is not redundant sagan-1.2.0/src/references.c:105:60: note: Null pointer dereference sagan-1.2.0/src/references.c:114:61: warning: Either the condition 'laststring==NULL' is redundant or there is possible null pointer dereference: laststring. [nullPointerRedundantCheck] sagan-1.2.0/src/references.c:109:29: note: Assuming that condition 'laststring==NULL' is not redundant sagan-1.2.0/src/references.c:114:61: note: Null pointer dereference sagan-1.2.0/src/references.c:59:11: style: Variable 'laststring' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/references.c:148:11: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/protocol-map.c:69:31: warning: Either the condition '(mapfile=fopen(map,"r"))==NULL' is redundant or there is possible null pointer dereference: mapfile. [nullPointerRedundantCheck] sagan-1.2.0/src/protocol-map.c:64:39: note: Assuming that condition '(mapfile=fopen(map,"r"))==NULL' is not redundant sagan-1.2.0/src/protocol-map.c:69:31: note: Null pointer dereference sagan-1.2.0/src/references.c:145:10: style: Variable 'b' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:96:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _Sagan_Processor_Info [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/sagan.c:183:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CREATE_DETACHED [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/ipc.c:117:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:210:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:302:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:389:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:475:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:561:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:651:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:741:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:827:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:913:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:999:17: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/ipc.c:133:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_afterbysrc_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:131:41: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:131:41: note: Assignment 'temp_afterbysrc_ipc=malloc(sizeof(struct after_by_src_ipc)*config->max_after_by_src)', assigned value is 0 sagan-1.2.0/src/ipc.c:133:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:223:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_afterbydst_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:221:41: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:221:41: note: Assignment 'temp_afterbydst_ipc=malloc(sizeof(struct after_by_dst_ipc)*config->max_after_by_dst)', assigned value is 0 sagan-1.2.0/src/ipc.c:223:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:315:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_afterbysrcport_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:313:45: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:313:45: note: Assignment 'temp_afterbysrcport_ipc=malloc(sizeof(struct after_by_srcport_ipc)*config->max_after_by_srcport)', assigned value is 0 sagan-1.2.0/src/ipc.c:315:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:402:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_afterbydstport_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:400:45: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:400:45: note: Assignment 'temp_afterbydstport_ipc=malloc(sizeof(struct after_by_dstport_ipc)*config->max_after_by_dstport)', assigned value is 0 sagan-1.2.0/src/ipc.c:402:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:488:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_afterbyusername_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:486:46: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:486:46: note: Assignment 'temp_afterbyusername_ipc=malloc(sizeof(struct after_by_username_ipc)*config->max_after_by_username)', assigned value is 0 sagan-1.2.0/src/ipc.c:488:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:574:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_threshbysrc_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:572:42: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:572:42: note: Assignment 'temp_threshbysrc_ipc=malloc(sizeof(struct thresh_by_src_ipc)*config->max_threshold_by_src)', assigned value is 0 sagan-1.2.0/src/ipc.c:574:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:664:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_threshbydst_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:662:42: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:662:42: note: Assignment 'temp_threshbydst_ipc=malloc(sizeof(struct thresh_by_dst_ipc)*config->max_threshold_by_dst)', assigned value is 0 sagan-1.2.0/src/ipc.c:664:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:754:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_threshbysrcport_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:752:46: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:752:46: note: Assignment 'temp_threshbysrcport_ipc=malloc(sizeof(struct thresh_by_srcport_ipc)*config->max_threshold_by_srcport)', assigned value is 0 sagan-1.2.0/src/ipc.c:754:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:840:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_threshbydstport_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:838:46: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:838:46: note: Assignment 'temp_threshbydstport_ipc=malloc(sizeof(struct thresh_by_dstport_ipc)*config->max_threshold_by_dstport)', assigned value is 0 sagan-1.2.0/src/ipc.c:840:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:926:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_threshbyusername_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:924:47: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:924:47: note: Assignment 'temp_threshbyusername_ipc=malloc(sizeof(struct thresh_by_username_ipc)*config->max_threshold_by_username)', assigned value is 0 sagan-1.2.0/src/ipc.c:926:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:1012:20: warning: If memory allocation fails, then there is a possible null pointer dereference: temp_xbit_ipc [nullPointerOutOfMemory] sagan-1.2.0/src/ipc.c:1010:35: note: Assuming allocation function fails sagan-1.2.0/src/ipc.c:1010:35: note: Assignment 'temp_xbit_ipc=malloc(sizeof(struct _Sagan_IPC_Xbit)*config->max_xbits)', assigned value is 0 sagan-1.2.0/src/ipc.c:1012:20: note: Null pointer dereference sagan-1.2.0/src/ipc.c:107:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:200:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:292:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:378:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:465:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:551:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:641:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:731:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:817:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:903:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:989:24: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/ipc.c:133:44: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:223:44: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:315:48: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:402:48: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:488:49: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:574:45: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:664:45: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:754:49: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:840:49: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:926:50: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:1012:38: warning: Calling 'sizeof' on 'sizeof'. [sizeofsizeof] sagan-1.2.0/src/ipc.c:133:83: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:223:83: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:315:91: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:402:91: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:488:93: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:574:85: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:664:85: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:754:93: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:840:93: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:926:95: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:1012:76: warning: Found calculation inside sizeof(). [sizeofCalculation] sagan-1.2.0/src/ipc.c:1835:24: style: Variable 'new_object' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/sagan.c:282:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/sagan.c:1114:57: style: Condition 'psyslogstring!=NULL' is always true [knownConditionTrueFalse] sagan-1.2.0/src/sagan.c:270:12: warning: If memory allocation fails, then there is a possible null pointer dereference: dnscache [nullPointerOutOfMemory] sagan-1.2.0/src/sagan.c:263:22: note: Assuming allocation function fails sagan-1.2.0/src/sagan.c:263:22: note: Assignment 'dnscache=malloc(sizeof(struct _SaganDNSCache))', assigned value is 0 sagan-1.2.0/src/sagan.c:270:12: note: Null pointer dereference sagan-1.2.0/src/sagan.c:1167:61: warning: Either the condition 'dnscache==NULL' is redundant or there is possible null pointer dereference: dnscache. [nullPointerRedundantCheck] sagan-1.2.0/src/sagan.c:1160:67: note: Assuming that condition 'dnscache==NULL' is not redundant sagan-1.2.0/src/sagan.c:1167:61: note: Null pointer dereference sagan-1.2.0/src/sagan.c:1168:61: warning: Either the condition 'dnscache==NULL' is redundant or there is possible null pointer dereference: dnscache. [nullPointerRedundantCheck] sagan-1.2.0/src/sagan.c:1160:67: note: Assuming that condition 'dnscache==NULL' is not redundant sagan-1.2.0/src/sagan.c:1168:61: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:55:12: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:55:12: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:70:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:70:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:71:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:71:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:72:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:72:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:73:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:73:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:74:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:74:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:75:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:75:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:76:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:76:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:77:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:77:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:79:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:79:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:80:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:80:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:82:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:82:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:83:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:83:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:85:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:85:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:87:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:87:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:88:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:88:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:92:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:92:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:94:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:94:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:95:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:95:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:96:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:96:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:97:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:97:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:99:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:99:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:101:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:101:5: note: Null pointer dereference sagan-1.2.0/src/send-alert.c:103:5: warning: If memory allocation fails, then there is a possible null pointer dereference: SaganProcessorEvent [nullPointerOutOfMemory] sagan-1.2.0/src/send-alert.c:48:33: note: Assuming allocation function fails sagan-1.2.0/src/send-alert.c:48:33: note: Assignment 'SaganProcessorEvent=malloc(sizeof(struct _Sagan_Event))', assigned value is 0 sagan-1.2.0/src/send-alert.c:103:5: note: Null pointer dereference sagan-1.2.0/src/sagan.c:220:11: style: Variable 'syslog_date' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/sagan.c:221:11: style: Variable 'syslog_time' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/sagan.c:236:16: style: Variable 'run' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/signal-handler.c:191:123: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/stats.c:101:87: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VERSION [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/signal-handler.c:331:32: style: Condition 'config->blacklist_flag' is always false [knownConditionTrueFalse] sagan-1.2.0/src/signal-handler.c:329:46: note: Assignment 'config->blacklist_flag=0', assigned value is 0 sagan-1.2.0/src/signal-handler.c:331:32: note: Condition 'config->blacklist_flag' is always false sagan-1.2.0/src/stats.c:77:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/stats.c:140:39: style: Redundant condition: The condition 'seconds == 0' is redundant since 'seconds < 60' is sufficient. [redundantCondition] sagan-1.2.0/src/stats.c:54:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/usage.c:39:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util-time.c:53:16: style: Variable 't' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util-time.c:87:16: style: Variable 't' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/threshold.c:81:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/threshold.c:187:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/threshold.c:293:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/threshold.c:399:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/threshold.c:498:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/threshold.c:67:71: style: Parameter 'ip_src_bits' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:67:90: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:67:106: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:71:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/threshold.c:173:71: style: Parameter 'ip_dst_bits' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:173:90: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:173:106: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:177:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/threshold.c:279:78: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:279:94: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:283:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/threshold.c:385:76: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:389:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/threshold.c:484:76: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/threshold.c:488:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:84:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:127:187: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:298:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET6 [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:315:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNSPEC [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:460:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INET6_ADDRSTRLEN [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:998:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:1083:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:1220:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_WRLCK [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:1244:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_UNLCK [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/util.c:1266:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/processors/bro-intel.c:124:62: warning: Either the condition '(brointel_file=fopen(brointel_filename,"r"))==NULL' is redundant or there is possible null pointer dereference: brointel_file. [nullPointerRedundantCheck] sagan-1.2.0/src/processors/bro-intel.c:119:66: note: Assuming that condition '(brointel_file=fopen(brointel_filename,"r"))==NULL' is not redundant sagan-1.2.0/src/processors/bro-intel.c:124:62: note: Null pointer dereference sagan-1.2.0/src/processors/bro-intel.c:91:11: style: Variable 'type' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/bro-intel.c:92:11: style: Variable 'description' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/processors/bro-intel.c:590:41: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/processors/bro-intel.c:590:84: style: Parameter 'lookup_cache' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:100:10: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] sagan-1.2.0/src/util.c:215:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/util.c:1079:10: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] sagan-1.2.0/src/util.c:859:21: warning: %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] sagan-1.2.0/src/util.c:285:23: style:inconclusive: Function 'Is_IPv6' argument 1 names different: declaration 'str' definition 'ipaddr'. [funcArgNamesDifferent] sagan-1.2.0/src/sagan.h:132:26: note: Function 'Is_IPv6' argument 1 names different: declaration 'str' definition 'ipaddr'. sagan-1.2.0/src/util.c:285:23: note: Function 'Is_IPv6' argument 1 names different: declaration 'str' definition 'ipaddr'. sagan-1.2.0/src/util.c:156:16: style: Variable 's2' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:167:16: style: Variable 's2' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:210:11: style: Variable 'chr' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:213:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:256:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:285:23: style: Parameter 'ipaddr' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:371:25: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:390:27: style: Parameter 'instr' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:464:11: style: Variable 'addr' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:512:41: style: Parameter 'orig' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:512:53: style: Parameter 'rep' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:516:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:532:35: style: Parameter 'ip' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:532:54: style: Parameter 'tests' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:713:25: style: Parameter 'in_str' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:806:25: style: Parameter 'in_string' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:886:27: style: Parameter 'string_in' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:886:44: style: Parameter 'replace' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:1077:20: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/util.c:1450:32: style: Parameter 's' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:1526:26: style: Parameter 'str_in' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/util.c:1551:31: warning: Uninitialized variable: alter_log [uninitvar] sagan-1.2.0/src/util.c:1537:20: note: Assuming condition is false sagan-1.2.0/src/util.c:1551:31: note: Uninitialized variable: alter_log sagan-1.2.0/src/util.c:1365:24: style: Variable 'ipint' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/util.c:247:1: error: va_list 'ap' was opened but not closed by va_end(). [va_end_missing] sagan-1.2.0/tools/saganpeek.c:72:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sagan-1.2.0/tools/saganpeek.c:196:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optarg [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/parsers/ip.c:88:21: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/parsers/ip.c:107:11: style: Variable 'ptr3' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/parsers/ip.c:122:20: style: Variable 'num_colons' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/parsers/ip.c:123:18: style: Variable 'num_dots' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/parsers/ip.c:124:20: style: Variable 'num_hashes' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:103:12: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: processor_info_engine [nullPointerOutOfMemory] sagan-1.2.0/src/processors/engine.c:96:35: note: Assuming allocation function fails sagan-1.2.0/src/processors/engine.c:96:35: note: Assignment 'processor_info_engine=malloc(sizeof(struct _Sagan_Processor_Info))', assigned value is 0 sagan-1.2.0/src/processors/engine.c:103:12: note: Null pointer dereference sagan-1.2.0/src/processors/engine.c:114:12: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: lookup_cache [nullPointerOutOfMemory] sagan-1.2.0/src/processors/engine.c:107:26: note: Assuming allocation function fails sagan-1.2.0/src/processors/engine.c:107:26: note: Assignment 'lookup_cache=malloc(sizeof(struct _Sagan_Lookup_Cache_Entry)*MAX_PARSE_IP)', assigned value is 0 sagan-1.2.0/src/processors/engine.c:114:12: note: Null pointer dereference sagan-1.2.0/src/processors/engine.c:688:75: style: Same expression on both sides of '||'. [duplicateExpression] sagan-1.2.0/src/processors/engine.c:726:65: style: Variable 'ip_src_flag' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/processors/engine.c:720:73: note: ip_src_flag is assigned sagan-1.2.0/src/processors/engine.c:726:65: note: ip_src_flag is overwritten sagan-1.2.0/src/processors/engine.c:758:65: style: Variable 'ip_dst_flag' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/processors/engine.c:752:73: note: ip_dst_flag is assigned sagan-1.2.0/src/processors/engine.c:758:65: note: ip_dst_flag is overwritten sagan-1.2.0/src/processors/engine.c:1303:157: style: Variable 'thresh_log_flag' is reassigned a value before the old one has been used. 'break;' missing? [redundantAssignInSwitch] sagan-1.2.0/src/processors/engine.c:1300:157: note: $symbol is assigned sagan-1.2.0/src/processors/engine.c:1303:157: note: $symbol is overwritten sagan-1.2.0/src/processors/engine.c:121:26: style: Variable 'after_log_flag' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:130:17: style: Variable 'match' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:156:23: style: Variable 'ip_src_flag' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:161:23: style: Variable 'ip_dst_flag' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:163:29: style: Variable 'ip_dstport_u32' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:1416:27: style: Variable 'match' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/processors/engine.c:189:11: style: Variable 'normalize_filename' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/tools/saganpeek.c:145:33: style: Variable 'counters_ipc' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/tools/saganpeek.c:147:29: style: Variable 'xbit_ipc' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/tools/saganpeek.c:152:36: style: Variable 'threshbyusername_ipc' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/tools/saganpeek.c:156:35: style: Variable 'afterbyusername_ipc' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/tools/saganpeek.c:178:11: style: Variable 'ipc_directory' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/rules.c:195:126: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sagan-1.2.0/src/rules.c:2094:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2094:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2097:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2097:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2100:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2100:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2103:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2103:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2106:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2106:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2109:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2109:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2112:67: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] sagan-1.2.0/src/rules.c:2087:51: note: outer condition: pcreflag==1 sagan-1.2.0/src/rules.c:2112:67: note: identical inner condition: pcreflag==1 sagan-1.2.0/src/rules.c:2248:56: style: Variable 'tmptok_tmp' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/rules.c:2247:56: note: tmptok_tmp is assigned sagan-1.2.0/src/rules.c:2248:56: note: tmptok_tmp is overwritten sagan-1.2.0/src/rules.c:2287:56: style: Variable 'tmptok_tmp' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/rules.c:2286:56: note: tmptok_tmp is assigned sagan-1.2.0/src/rules.c:2287:56: note: tmptok_tmp is overwritten sagan-1.2.0/src/rules.c:2411:56: style: Variable 'tmptok_tmp' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/rules.c:2410:56: note: tmptok_tmp is assigned sagan-1.2.0/src/rules.c:2411:56: note: tmptok_tmp is overwritten sagan-1.2.0/src/rules.c:2418:56: style: Variable 'tmptok_tmp' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/rules.c:2417:56: note: tmptok_tmp is assigned sagan-1.2.0/src/rules.c:2418:56: note: tmptok_tmp is overwritten sagan-1.2.0/src/rules.c:2470:56: style: Variable 'tmptok_tmp' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/rules.c:2469:56: note: tmptok_tmp is assigned sagan-1.2.0/src/rules.c:2470:56: note: tmptok_tmp is overwritten sagan-1.2.0/src/rules.c:2477:56: style: Variable 'tmptok_tmp' is reassigned a value before the old one has been used. [redundantAssignment] sagan-1.2.0/src/rules.c:2476:56: note: tmptok_tmp is assigned sagan-1.2.0/src/rules.c:2477:56: note: tmptok_tmp is overwritten sagan-1.2.0/src/rules.c:99:20: style: Variable 'bad_rule' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:163:17: style: Variable 'netcount' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:164:18: style: Variable 'ref_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:166:22: style: Variable 'content_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:167:27: style: Variable 'meta_content_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:168:37: style: Variable 'meta_content_converted_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:169:19: style: Variable 'pcre_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:171:21: style: Variable 'flow_1_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:172:21: style: Variable 'flow_2_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:173:21: style: Variable 'port_1_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/rules.c:174:21: style: Variable 'port_2_count' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/xbit-mmap.c:75:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/xbit-mmap.c:780:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/xbit-mmap.c:1544:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sagan-1.2.0/src/xbit-mmap.c:792:12: warning: If memory allocation fails, then there is a possible null pointer dereference: xbit_track [nullPointerOutOfMemory] sagan-1.2.0/src/xbit-mmap.c:785:24: note: Assuming allocation function fails sagan-1.2.0/src/xbit-mmap.c:785:24: note: Assignment 'xbit_track=malloc(sizeof(struct _Sagan_Xbit_Track))', assigned value is 0 sagan-1.2.0/src/xbit-mmap.c:792:12: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1222:37: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1217:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1222:37: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1227:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1217:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1227:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1228:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1217:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1228:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1229:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1217:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1229:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1303:37: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1298:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1303:37: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1305:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1298:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1305:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1306:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1298:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1306:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1307:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1298:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1307:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1381:37: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1376:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1381:37: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1383:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1376:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1383:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1384:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1376:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1384:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1385:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1376:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1385:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1459:37: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1454:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1459:37: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1464:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1454:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1464:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1465:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1454:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1465:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:1466:29: warning: Either the condition 'xbit_track==NULL' is redundant or there is possible null pointer dereference: xbit_track. [nullPointerRedundantCheck] sagan-1.2.0/src/xbit-mmap.c:1454:45: note: Assuming that condition 'xbit_track==NULL' is not redundant sagan-1.2.0/src/xbit-mmap.c:1466:29: note: Null pointer dereference sagan-1.2.0/src/xbit-mmap.c:61:108: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/xbit-mmap.c:65:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/xbit-mmap.c:682:49: style: Parameter 'ip_src' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/xbit-mmap.c:682:63: style: Parameter 'ip_dst' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/xbit-mmap.c:682:77: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/xbit-mmap.c:766:101: style: Parameter 'selector' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/xbit-mmap.c:766:117: style: Parameter 'syslog_message' can be declared as pointer to const [constParameterPointer] sagan-1.2.0/src/xbit-mmap.c:773:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/xbit-mmap.c:1540:16: style: Variable 'now' can be declared as pointer to const [constVariablePointer] sagan-1.2.0/src/xbit-mmap.c:685:16: style: Variable 'a' is assigned a value that is never used. [unreadVariable] sagan-1.2.0/src/xbit-mmap.c:770:11: style: Variable 'a' is assigned a value that is never used. [unreadVariable] diff: 2.17.0 sagan-1.2.0/src/aetas.c:78:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] DONE