2024-04-09 21:05 ftp://ftp.de.debian.org/debian/pool/main/m/missfits/missfits_2.8.0.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j2 platform: Linux-6.5.0-27-generic-x86_64-with-glibc2.35 python: 3.10.12 client-version: 1.3.56 compiler: g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 cppcheck: head 2.13.0 head-info: 3ad4533e (2024-04-09 19:29:20 +0200) count: 230 221 elapsed-time: 31.9 50.2 head-timing-info: old-timing-info: head results: missfits-2.8.0/src/file.c:154:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NORM [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/file.c:301:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SAVE_NONE [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitsbody.c:96:22: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:99:17: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:102:14: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:145:12: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:346:19: portability:inconclusive: Casting from double * to char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:478:13: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:487:13: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:494:13: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:807:15: portability:inconclusive: Casting from double * to char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:890:31: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:900:32: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:1042:31: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:1052:32: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitsbody.c:944:44: style: Parameter 'ptr' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsbody.c:1139:23: style: Parameter 'dirname' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitscat.c:135:45: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] missfits-2.8.0/src/fits/fitscat.c:91:7: warning: %ld in format string (no. 1) requires 'long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] missfits-2.8.0/src/fits/fitscat.c:114:44: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitscat.c:138:29: error: Undefined behavior: Variable 'str2' is used as parameter and destination in sprintf(). [sprintfOverlappingData] missfits-2.8.0/src/fits/fitscheck.c:335:10: style: Condition 'sum' is always true [knownConditionTrueFalse] missfits-2.8.0/src/fits/fitscheck.c:333:9: note: Assignment 'sum=~sum', assigned value is greater than 0 missfits-2.8.0/src/fits/fitscheck.c:335:10: note: Condition 'sum' is always true missfits-2.8.0/src/fits/fitscheck.c:102:36: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitscheck.c:106:20: style: Variable 'sbuf' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitscheck.c:160:20: style: Variable 'sbuf' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitscleanup.c:159:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable signum [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitscleanup.c:196:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitscleanup.c:96:5: error: Common realloc mistake: 'cleanup_filename' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/fits/fitscleanup.c:87:32: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitscleanup.c:114:35: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsconv.c:98:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/file.c:444:11: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/file.c:189:13: error: Common realloc mistake: 'incat' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/file.c:214:9: error: Common realloc mistake: 'incat' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/file.c:245:11: error: Common realloc mistake: 'incat' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/file.c:268:7: error: Common realloc mistake: 'incat' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/file.c:420:41: style: Same expression 'S_IWGRP' found multiple times in chain of '|' operators. [duplicateExpression] missfits-2.8.0/src/file.c:483:41: style: Same expression 'S_IWGRP' found multiple times in chain of '|' operators. [duplicateExpression] missfits-2.8.0/src/file.c:539:41: style: Same expression 'S_IWGRP' found multiple times in chain of '|' operators. [duplicateExpression] missfits-2.8.0/src/file.c:288:62: style:inconclusive: Function 'save_fitsfiles' argument 4 names different: declaration 'cat' definition 'outcat'. [funcArgNamesDifferent] missfits-2.8.0/src/file.h:46:44: note: Function 'save_fitsfiles' argument 4 names different: declaration 'cat' definition 'outcat'. missfits-2.8.0/src/file.c:288:62: note: Function 'save_fitsfiles' argument 4 names different: declaration 'cat' definition 'outcat'. missfits-2.8.0/src/file.c:74:12: style: Variable 'prefix' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/file.c:288:27: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/file.c:595:24: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitshead.c:178:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable COMPRESS_NONE [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitshead.c:752:5: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] missfits-2.8.0/src/fits/fitshead.c:419:21: style: Variable 'str2lim' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitshead.c:825:11: style: Variable 'control' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitshead.c:428:57: error: Uninitialized variable: &j [uninitvar] missfits-2.8.0/src/fits/fitsmisc.c:53:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitsmisc.c:88:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitsmisc.c:86:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] missfits-2.8.0/src/fits/fitsmisc.c:80:23: style: Parameter 'msg1' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsmisc.c:80:35: style: Parameter 'msg2' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsmisc.c:83:15: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitsmisc.c:200:20: style: Parameter 'cs' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsmisc.c:200:30: style: Parameter 'ct' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsmisc.c:228:19: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsmisc.c:254:20: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitstab.c:307:4: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] missfits-2.8.0/src/fits/fitstab.c:426:26: style: Parameter 'tabname' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitstab.c:578:15: style: Variable 'keytab' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitstab.c:635:46: style: Parameter 'tabname' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitstab.c:307:10: style: Variable 'tabin' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/fits/fitsutil.c:550:28: error: Array 'str[81]' accessed at index 82, which is out of bounds. [arrayIndexOutOfBounds] missfits-2.8.0/src/fits/fitsutil.c:539:4: note: After for loop, i has value 80 missfits-2.8.0/src/fits/fitsutil.c:548:30: note: Compound assignment '+=', assigned value is 82 missfits-2.8.0/src/fits/fitsutil.c:550:28: note: Array index out of bounds missfits-2.8.0/src/fits/fitsutil.c:362:18: warning:inconclusive: Width 1 given in format string (no. 1) is smaller than destination buffer 's[4]'. [invalidScanfFormatWidth_smaller] missfits-2.8.0/src/fits/fitsutil.c:199:20: style:inconclusive: Function 'fitspick' argument 1 names different: declaration 'fitsbuf' definition 'fitsline'. [funcArgNamesDifferent] missfits-2.8.0/src/fits/fitscat.h:285:18: note: Function 'fitspick' argument 1 names different: declaration 'fitsbuf' definition 'fitsline'. missfits-2.8.0/src/fits/fitsutil.c:199:20: note: Function 'fitspick' argument 1 names different: declaration 'fitsbuf' definition 'fitsline'. missfits-2.8.0/src/fits/fitsutil.c:57:49: style: Parameter 'comment' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsutil.c:170:41: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitsutil.c:433:10: style: Variable 'cp1' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitsutil.c:471:18: style: Variable 'cstr1' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitskey.c:890:5: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitskey.c:910:5: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitskey.c:124:15: style: Variable 'keyin' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitskey.c:191:26: style: Parameter 'keyname' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitskey.c:301:11: style: Variable 'mask2' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitskey.c:494:46: style: Parameter 'keyname' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fits/fitskey.c:600:11: style: Variable 'mask2' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitskey.c:620:12: style: Variable 'skycathead' can be declared as const array [constVariable] missfits-2.8.0/src/fits/fitskey.c:629:16: style: Variable 'skycattail' can be declared as const array [constVariable] missfits-2.8.0/src/fitswcs.c:488:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RDSYS_ICRS [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fitswcs.c:957:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fits/fitswrite.c:418:59: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitswrite.c:423:59: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitswrite.c:504:59: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitswrite.c:509:59: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/fits/fitswrite.c:379:3: style: Variable 'pos' is reassigned a value before the old one has been used. [redundantAssignment] missfits-2.8.0/src/fits/fitswrite.c:378:7: note: pos is assigned missfits-2.8.0/src/fits/fitswrite.c:379:3: note: pos is overwritten missfits-2.8.0/src/fits/fitswrite.c:103:40: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fits/fitswrite.c:256:17: style: Variable 'padbuf' can be declared as const array [constVariable] missfits-2.8.0/src/fits/fitswrite.c:324:18: style: Variable 'pin' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/main.c:72:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/fitswcs.c:496:9: style: Redundant assignment of 'wcs->equinox' to itself. [selfAssignment] missfits-2.8.0/src/fitswcs.c:507:9: style: Redundant assignment of 'wcs->equinox' to itself. [selfAssignment] missfits-2.8.0/src/fitswcs.c:751:23: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fitswcs.c:754:9: style: Variable 'projcode' can be declared as const array [constVariable] missfits-2.8.0/src/fitswcs.c:1225:12: style: Variable 'mat' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fitswcs.c:1260:12: style: Variable 'mat' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/fitswcs.c:1497:28: style: Parameter 'wcs' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fitswcs.c:1497:41: style: Parameter 'wcspos1' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fitswcs.c:1497:58: style: Parameter 'wcspos2' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fitswcs.c:1597:45: style: Parameter 'pixpos' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/fitswcs.c:1871:11: style: Variable 'a' can be declared as const array [constVariable] missfits-2.8.0/src/fitswcs.c:1872:3: style: Variable 'ap' can be declared as const array [constVariable] missfits-2.8.0/src/fitswcs.c:1946:12: style: Variable 'a' can be declared as const array [constVariable] missfits-2.8.0/src/fitswcs.c:1947:25: style: Variable 'ap' can be declared as const array [constVariable] missfits-2.8.0/src/fitswcs.c:2086:11: style: Variable 'str' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/main.c:88:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] missfits-2.8.0/src/main.c:156:19: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/main.c:181:28: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/main.c:201:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] missfits-2.8.0/src/main.c:163:15: error: Common realloc mistake: 'listbuf' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/main.c:241:9: style: Variable 'dummy' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/makeit.c:77:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NORM [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/makeit.c:341:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable QUIET [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/makeit.c:373:7: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/makeit.c:373:24: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/makeit.c:376:7: portability: Casting between char * and double * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/makeit.c:376:24: portability: Casting between char * and float * which have an incompatible binary data representation. [invalidPointerCast] missfits-2.8.0/src/makeit.c:422:9: style: Local variable 'error' shadows outer function [shadowFunction] missfits-2.8.0/src/fits/fitscat.h:221:3: note: Shadowed declaration missfits-2.8.0/src/makeit.c:422:9: note: Shadow variable missfits-2.8.0/src/makeit.c:420:24: style: Parameter 'msg1' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/makeit.c:420:36: style: Parameter 'msg2' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/process.c:55:22: style: Variable 'cat' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/process.c:62:7: style: Variable 'cat' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/process.c:119:13: style: Variable 'invbscale' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/prefs.c:138:15: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:146:17: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:241:23: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:258:23: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:275:23: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:292:23: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:314:23: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:483:31: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:484:13: portability: Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'. [prohibitedstrtokCalled] missfits-2.8.0/src/prefs.c:190:25: warning: Either the condition '!value' is redundant or there is possible null pointer dereference: value. [nullPointerRedundantCheck] missfits-2.8.0/src/prefs.c:188:17: note: Assuming that condition '!value' is not redundant missfits-2.8.0/src/prefs.c:190:25: note: Null pointer dereference missfits-2.8.0/src/prefs.c:200:25: warning: Either the condition '!value' is redundant or there is possible null pointer dereference: value. [nullPointerRedundantCheck] missfits-2.8.0/src/prefs.c:198:17: note: Assuming that condition '!value' is not redundant missfits-2.8.0/src/prefs.c:200:25: note: Null pointer dereference missfits-2.8.0/src/prefs.c:210:43: warning: Either the condition '!value' is redundant or there is possible null pointer dereference: value. [nullPointerRedundantCheck] missfits-2.8.0/src/prefs.c:208:17: note: Assuming that condition '!value' is not redundant missfits-2.8.0/src/prefs.c:210:43: note: Null pointer dereference missfits-2.8.0/src/prefs.c:216:43: warning: Either the condition '!value' is redundant or there is possible null pointer dereference: value. [nullPointerRedundantCheck] missfits-2.8.0/src/prefs.c:214:17: note: Assuming that condition '!value' is not redundant missfits-2.8.0/src/prefs.c:216:43: note: Null pointer dereference missfits-2.8.0/src/prefs.c:350:30: style:inconclusive: Function 'findkeys' argument 2 names different: declaration 'key' definition 'keyw'. [funcArgNamesDifferent] missfits-2.8.0/src/key.h:54:30: note: Function 'findkeys' argument 2 names different: declaration 'key' definition 'keyw'. missfits-2.8.0/src/prefs.c:350:30: note: Function 'findkeys' argument 2 names different: declaration 'key' definition 'keyw'. missfits-2.8.0/src/prefs.c:81:11: style: Variable 'cp' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/prefs.c:86:11: style: Variable 'dolpos' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/prefs.c:152:36: style: Variable 'envval' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/prefs.c:367:20: style: Parameter 'cs' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/prefs.c:367:30: style: Parameter 'ct' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/lin.c:240:14: style: Parameter 'imgcrd' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/lin.c:271:14: style: Parameter 'pixcrd' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/lin.c:304:14: style: Parameter 'mat' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/poly.c:65:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/wcs/poly.c:84:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable msg2 [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/wcs/poly.c:267:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable msg2 [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/wcs/poly.c:63:19: style: Parameter 'msg1' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/poly.c:63:31: style: Parameter 'msg2' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/poly.c:82:50: style: Parameter 'degree' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/poly.c:184:33: style: Variable 'degreet' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/wcs/poly.c:264:52: style: Parameter 'y' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/poly.c:270:15: style: Variable 'xt' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/wcs/poly.c:365:45: style: Parameter 'cste' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/poly.c:370:27: style: Variable 'powerst' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/wcs/poly.c:536:33: style: Variable 'degreet' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/wcs/poly.c:202:9: error: Uninitialized variable: gexpo [uninitvar] missfits-2.8.0/src/wcs/poly.c:551:9: error: Uninitialized variable: gexpo [uninitvar] missfits-2.8.0/src/wcs/poly.c:135:47: style: Variable 'd' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/wcs/proj.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] missfits-2.8.0/src/wcs/proj.c:416:16: style: Condition 'tanset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:416:16: note: Calling function 'tanset' returns 0 missfits-2.8.0/src/wcs/proj.c:416:16: note: Condition 'tanset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:447:17: style: Condition 'tanset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:447:17: note: Calling function 'tanset' returns 0 missfits-2.8.0/src/wcs/proj.c:447:17: note: Condition 'tanset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:517:17: style: Condition 'sinset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:517:17: note: Calling function 'sinset' returns 0 missfits-2.8.0/src/wcs/proj.c:517:17: note: Condition 'sinset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:569:17: style: Condition 'sinset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:569:17: note: Calling function 'sinset' returns 0 missfits-2.8.0/src/wcs/proj.c:569:17: note: Condition 'sinset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:684:17: style: Condition 'stgset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:684:17: note: Calling function 'stgset' returns 0 missfits-2.8.0/src/wcs/proj.c:684:17: note: Condition 'stgset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:711:17: style: Condition 'stgset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:711:17: note: Calling function 'stgset' returns 0 missfits-2.8.0/src/wcs/proj.c:711:17: note: Condition 'stgset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:765:17: style: Condition 'arcset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:765:17: note: Calling function 'arcset' returns 0 missfits-2.8.0/src/wcs/proj.c:765:17: note: Condition 'arcset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:787:17: style: Condition 'arcset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:787:17: note: Calling function 'arcset' returns 0 missfits-2.8.0/src/wcs/proj.c:787:17: note: Condition 'arcset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:1081:17: style: Condition 'zeaset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:1081:17: note: Calling function 'zeaset' returns 0 missfits-2.8.0/src/wcs/proj.c:1081:17: note: Condition 'zeaset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:1104:17: style: Condition 'zeaset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:1104:17: note: Calling function 'zeaset' returns 0 missfits-2.8.0/src/wcs/proj.c:1104:17: note: Condition 'zeaset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:1441:17: style: Condition 'carset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:1441:17: note: Calling function 'carset' returns 0 missfits-2.8.0/src/wcs/proj.c:1441:17: note: Condition 'carset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:1460:17: style: Condition 'carset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:1460:17: note: Calling function 'carset' returns 0 missfits-2.8.0/src/wcs/proj.c:1460:17: note: Condition 'carset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:1511:17: style: Condition 'merset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:1511:17: note: Calling function 'merset' returns 0 missfits-2.8.0/src/wcs/proj.c:1511:17: note: Condition 'merset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:1534:17: style: Condition 'merset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:1534:17: note: Calling function 'merset' returns 0 missfits-2.8.0/src/wcs/proj.c:1534:17: note: Condition 'merset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2164:17: style: Condition 'bonset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2164:17: note: Calling function 'bonset' returns 0 missfits-2.8.0/src/wcs/proj.c:2164:17: note: Condition 'bonset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2193:17: style: Condition 'bonset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2193:17: note: Calling function 'bonset' returns 0 missfits-2.8.0/src/wcs/proj.c:2193:17: note: Condition 'bonset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2260:17: style: Condition 'pcoset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2260:17: note: Calling function 'pcoset' returns 0 missfits-2.8.0/src/wcs/proj.c:2260:17: note: Condition 'pcoset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2293:17: style: Condition 'pcoset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2293:17: note: Calling function 'pcoset' returns 0 missfits-2.8.0/src/wcs/proj.c:2293:17: note: Condition 'pcoset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2401:17: style: Condition 'glsset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2401:17: note: Calling function 'glsset' returns 0 missfits-2.8.0/src/wcs/proj.c:2401:17: note: Condition 'glsset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2422:17: style: Condition 'glsset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2422:17: note: Calling function 'glsset' returns 0 missfits-2.8.0/src/wcs/proj.c:2422:17: note: Condition 'glsset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2482:17: style: Condition 'parset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2482:17: note: Calling function 'parset' returns 0 missfits-2.8.0/src/wcs/proj.c:2482:17: note: Condition 'parset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2504:17: style: Condition 'parset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2504:17: note: Calling function 'parset' returns 0 missfits-2.8.0/src/wcs/proj.c:2504:17: note: Condition 'parset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2568:17: style: Condition 'aitset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2568:17: note: Calling function 'aitset' returns 0 missfits-2.8.0/src/wcs/proj.c:2568:17: note: Condition 'aitset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2592:17: style: Condition 'aitset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2592:17: note: Calling function 'aitset' returns 0 missfits-2.8.0/src/wcs/proj.c:2592:17: note: Condition 'aitset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2668:17: style: Condition 'molset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2668:17: note: Calling function 'molset' returns 0 missfits-2.8.0/src/wcs/proj.c:2668:17: note: Condition 'molset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2715:17: style: Condition 'molset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2715:17: note: Calling function 'molset' returns 0 missfits-2.8.0/src/wcs/proj.c:2715:17: note: Condition 'molset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2813:17: style: Condition 'cscset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2813:17: note: Calling function 'cscset' returns 0 missfits-2.8.0/src/wcs/proj.c:2813:17: note: Condition 'cscset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:2959:17: style: Condition 'cscset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:2959:17: note: Calling function 'cscset' returns 0 missfits-2.8.0/src/wcs/proj.c:2959:17: note: Condition 'cscset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3099:17: style: Condition 'qscset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3099:17: note: Calling function 'qscset' returns 0 missfits-2.8.0/src/wcs/proj.c:3099:17: note: Condition 'qscset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3272:17: style: Condition 'qscset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3272:17: note: Calling function 'qscset' returns 0 missfits-2.8.0/src/wcs/proj.c:3272:17: note: Condition 'qscset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3470:17: style: Condition 'tscset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3470:17: note: Calling function 'tscset' returns 0 missfits-2.8.0/src/wcs/proj.c:3470:17: note: Condition 'tscset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3564:17: style: Condition 'tscset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3564:17: note: Calling function 'tscset' returns 0 missfits-2.8.0/src/wcs/proj.c:3564:17: note: Condition 'tscset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3665:16: style: Condition 'tnxset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3665:16: note: Calling function 'tnxset' returns 0 missfits-2.8.0/src/wcs/proj.c:3665:16: note: Condition 'tnxset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3696:17: style: Condition 'tanset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3696:17: note: Calling function 'tanset' returns 0 missfits-2.8.0/src/wcs/proj.c:3696:17: note: Condition 'tanset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3721:17: style: Condition 'tanset(prj)' is always false [knownConditionTrueFalse] missfits-2.8.0/src/wcs/proj.c:3721:17: note: Calling function 'tanset' returns 0 missfits-2.8.0/src/wcs/proj.c:3721:17: note: Condition 'tanset(prj)' is always false missfits-2.8.0/src/wcs/proj.c:3344:11: style: Variable 'rhu' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/wcs/sph.c:145:24: style: Parameter 'eul' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/sph.c:202:26: style: Parameter 'eul' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/cel.c:313:12: style: Parameter 'pcode' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/tnx.c:77:7: error: Memory leak: tnxaxis [memleak] missfits-2.8.0/src/wcs/tnx.c:83:7: error: Memory leak: tnxaxis [memleak] missfits-2.8.0/src/wcs/tnx.c:144:7: error: Memory leak: tnxaxis [memleak] missfits-2.8.0/src/wcs/tnx.c:55:35: style: Parameter 'tnxstr' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/wcs/wcstrig.c:213:20: style: Expression is always true because 'else if' condition is opposite to previous condition at line 211. [multiCondition] missfits-2.8.0/src/wcs/wcstrig.c:211:13: note: first condition missfits-2.8.0/src/wcs/wcstrig.c:213:20: note: else if condition is opposite to first condition missfits-2.8.0/src/xml.c:141:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SAVE_NEW [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/xml.c:670:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] missfits-2.8.0/src/xml.c:72:3: style: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg] missfits-2.8.0/src/xml.c:434:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] missfits-2.8.0/src/xml.c:131:5: error: Common realloc mistake: 'miss_xml' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/xml.c:208:11: error: Common realloc mistake: 'miss_xml' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/xml.c:277:13: error: Common realloc mistake: 'miss_xml' nulled but not freed upon failure [memleakOnRealloc] missfits-2.8.0/src/xml.c:484:9: error: Null pointer dereference: psuser [nullPointer] missfits-2.8.0/src/xml.c:443:19: note: Assignment 'psuser=pspath=pshost=NULL', assigned value is 0 missfits-2.8.0/src/xml.c:484:9: note: Null pointer dereference missfits-2.8.0/src/xml.c:484:9: error: Null pointer dereference [nullPointer] missfits-2.8.0/src/xml.c:65:18: style:inconclusive: Function 'init_xml' argument 1 names different: declaration 'nfile' definition 'nxml'. [funcArgNamesDifferent] missfits-2.8.0/src/xml.h:61:25: note: Function 'init_xml' argument 1 names different: declaration 'nfile' definition 'nxml'. missfits-2.8.0/src/xml.c:65:18: note: Function 'init_xml' argument 1 names different: declaration 'nfile' definition 'nxml'. missfits-2.8.0/src/xml.c:119:34: style: Parameter 'xmlkey' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/xml.c:423:38: style: Parameter 'error' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/xml.c:426:16: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/xml.c:427:12: style: Variable 'pspath' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/xml.c:427:20: style: Variable 'psuser' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/xml.c:427:29: style: Variable 'pshost' can be declared as pointer to const [constVariablePointer] missfits-2.8.0/src/xml.c:662:27: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/xml.c:703:56: style: Parameter 'unit' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/xml.c:704:24: style: Parameter 'ucd' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/xml.c:704:35: style: Parameter 'format' can be declared as pointer to const [constParameterPointer] missfits-2.8.0/src/xml.c:72:8: style: Variable 'nxml' is assigned a value that is never used. [unreadVariable] missfits-2.8.0/src/wcs/wcs.c:459:12: style: Parameter 'ctype' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/wcs.c:562:14: style: Parameter 'crval' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/wcs.c:655:14: style: Parameter 'crval' can be declared as const array [constParameter] missfits-2.8.0/src/wcs/wcs.c:750:14: style: Parameter 'vspan' can be declared as const array [constParameter] diff: head missfits-2.8.0/src/file.c:301:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SAVE_NONE [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/fits/fitsbody.c:944:44: style: Parameter 'ptr' can be declared as pointer to const [constParameterPointer] head missfits-2.8.0/src/fits/fitscleanup.c:196:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/fits/fitsmisc.c:88:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/fitswcs.c:496:9: style: Redundant assignment of 'wcs->equinox' to itself. [selfAssignment] 2.13.0 missfits-2.8.0/src/fitswcs.c:496:9: warning: Redundant assignment of 'wcs->equinox' to itself. [selfAssignment] head missfits-2.8.0/src/fitswcs.c:507:9: style: Redundant assignment of 'wcs->equinox' to itself. [selfAssignment] 2.13.0 missfits-2.8.0/src/fitswcs.c:507:9: warning: Redundant assignment of 'wcs->equinox' to itself. [selfAssignment] head missfits-2.8.0/src/fitswcs.c:957:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/makeit.c:341:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable QUIET [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/wcs/poly.c:267:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable msg2 [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/wcs/poly.c:84:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable msg2 [valueFlowBailoutIncompleteVar] head missfits-2.8.0/src/xml.c:670:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] DONE