2024-04-22 02:34 ftp://ftp.de.debian.org/debian/pool/main/s/shairport-sync/shairport-sync_3.3.8.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=openssl --library=gtk --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.1.0-20-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.56 compiler: g++ (Debian 12.2.0-14) 12.2.0 cppcheck: head 2.14.0 head-info: ea2e716 (2024-04-21 15:59:20 +0200) count: 434 434 elapsed-time: 5.7 5.8 head-timing-info: old-timing-info: head results: shairport-sync-3.3.8/FFTConvolver/Utilities.h:319:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/FFTConvolver/convolver.cpp:26:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SFM_READ [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/FFTConvolver/Utilities.h:154:6: performance:inconclusive: Technically the member function 'Buffer < float >::allocate' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/Utilities.h:163:8: performance:inconclusive: Technically the member function 'Buffer < float >::deallocate' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/activity_monitor.c:220:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ETIMEDOUT [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/activity_monitor.c:168:7: style: The if condition is the same as the previous if condition [duplicateCondition] shairport-sync-3.3.8/activity_monitor.c:153:7: note: First condition shairport-sync-3.3.8/activity_monitor.c:168:7: note: Second condition shairport-sync-3.3.8/activity_monitor.c:199:45: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/activity_monitor.c:172:12: style: Unused variable: sec [unusedVariable] shairport-sync-3.3.8/activity_monitor.c:173:12: style: Unused variable: nsec [unusedVariable] shairport-sync-3.3.8/activity_monitor.c:174:19: style: Unused variable: time_for_wait [unusedVariable] shairport-sync-3.3.8/FFTConvolver/convolver.cpp:22:32: style:inconclusive: Function 'convolver_init' argument 1 names different: declaration 'file' definition 'filename'. [funcArgNamesDifferent] shairport-sync-3.3.8/FFTConvolver/convolver.h:8:32: note: Function 'convolver_init' argument 1 names different: declaration 'file' definition 'filename'. shairport-sync-3.3.8/FFTConvolver/convolver.cpp:22:32: note: Function 'convolver_init' argument 1 names different: declaration 'file' definition 'filename'. shairport-sync-3.3.8/FFTConvolver/convolver.cpp:55:37: warning: Uninitialized variable: buffer_l [uninitvar] shairport-sync-3.3.8/FFTConvolver/convolver.cpp:49:26: note: Assuming condition is false shairport-sync-3.3.8/FFTConvolver/convolver.cpp:55:37: note: Uninitialized variable: buffer_l shairport-sync-3.3.8/FFTConvolver/convolver.cpp:56:37: warning: Uninitialized variable: buffer_r [uninitvar] shairport-sync-3.3.8/FFTConvolver/convolver.cpp:49:26: note: Assuming condition is false shairport-sync-3.3.8/FFTConvolver/convolver.cpp:56:37: note: Uninitialized variable: buffer_r shairport-sync-3.3.8/alac.c:657:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/alac.c:1007:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_ao.c:62:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable optind [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_ao.c:89:8: warning: Either the condition '!mid' is redundant or there is possible null pointer dereference: mid. [nullPointerRedundantCheck] shairport-sync-3.3.8/audio_ao.c:87:11: note: Assuming that condition '!mid' is not redundant shairport-sync-3.3.8/audio_ao.c:89:8: note: Null pointer dereference shairport-sync-3.3.8/audio_ao.c:90:46: warning: Either the condition '!mid' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck] shairport-sync-3.3.8/audio_ao.c:87:11: note: Assuming that condition '!mid' is not redundant shairport-sync-3.3.8/audio_ao.c:90:46: note: Null pointer addition shairport-sync-3.3.8/audio_alsa.c:434:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_PCM_STREAM_PLAYBACK [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:861:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:879:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:986:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1359:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1372:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1428:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_PCM_STATE_RUNNING [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1474:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_PCM_STATE_RUNNING [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1615:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1650:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1885:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_dummy.c:45:47: style: Parameter 'buf' can be declared as pointer to const. However it seems that 'play' is a callback function, if 'buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_dummy.c:61:38: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_dummy.c:45:47: note: Parameter 'buf' can be declared as pointer to const shairport-sync-3.3.8/audio_jack.c:158:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable len [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_jack.c:189:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable JackPlaybackLatency [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_jack.c:257:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable JackNoStartServer [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_jack.c:411:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable len [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/alac.c:469:26: style: The if condition is the same as the previous if condition [duplicateCondition] shairport-sync-3.3.8/alac.c:438:26: note: First condition shairport-sync-3.3.8/alac.c:469:26: note: Second condition shairport-sync-3.3.8/alac.c:439:9: style: Local variable 'i' shadows outer variable [shadowVariable] shairport-sync-3.3.8/alac.c:408:7: note: Shadowed declaration shairport-sync-3.3.8/alac.c:439:9: note: Shadow variable shairport-sync-3.3.8/alac.c:724:13: style: Local variable 'i' shadows outer variable [shadowVariable] shairport-sync-3.3.8/alac.c:705:11: note: Shadowed declaration shairport-sync-3.3.8/alac.c:724:13: note: Shadow variable shairport-sync-3.3.8/alac.c:899:13: style: Local variable 'i' shadows outer variable [shadowVariable] shairport-sync-3.3.8/alac.c:868:11: note: Shadowed declaration shairport-sync-3.3.8/alac.c:899:13: note: Shadow variable shairport-sync-3.3.8/alac.c:404:53: style: Parameter 'error_buffer' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/alac.c:524:37: style: Parameter 'buffer_a' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/alac.c:524:56: style: Parameter 'buffer_b' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/alac.c:575:37: style: Parameter 'buffer_a' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/alac.c:575:56: style: Parameter 'buffer_b' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/alac.c:576:37: style: Parameter 'uncompressed_bytes_buffer_a' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/alac.c:577:37: style: Parameter 'uncompressed_bytes_buffer_b' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:237:12: performance:inconclusive: Technically the member function 'audiofft::details::OouraFFT::makect' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:259:12: performance:inconclusive: Technically the member function 'audiofft::details::OouraFFT::bitrv2' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:459:12: performance:inconclusive: Technically the member function 'audiofft::details::OouraFFT::cft1st' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:564:12: performance:inconclusive: Technically the member function 'audiofft::details::OouraFFT::cftmdl' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:691:12: performance:inconclusive: Technically the member function 'audiofft::details::OouraFFT::rftfsub' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:716:12: performance:inconclusive: Technically the member function 'audiofft::details::OouraFFT::rftbsub' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:210:13: style: The scope of the variable 'j' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:210:16: style: The scope of the variable 'nwh' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:211:16: style: The scope of the variable 'delta' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:211:23: style: The scope of the variable 'x' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:211:26: style: The scope of the variable 'y' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:239:13: style: The scope of the variable 'j' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:239:16: style: The scope of the variable 'nch' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:240:16: style: The scope of the variable 'delta' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:361:20: style: The scope of the variable 'j2' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:361:24: style: The scope of the variable 'j3' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:362:26: style: The scope of the variable 'x1r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:362:31: style: The scope of the variable 'x1i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:362:36: style: The scope of the variable 'x2r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:362:41: style: The scope of the variable 'x2i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:362:46: style: The scope of the variable 'x3r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:362:51: style: The scope of the variable 'x3i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:411:20: style: The scope of the variable 'j2' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:411:24: style: The scope of the variable 'j3' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:412:26: style: The scope of the variable 'x1r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:412:31: style: The scope of the variable 'x1i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:412:36: style: The scope of the variable 'x2r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:412:41: style: The scope of the variable 'x2i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:412:46: style: The scope of the variable 'x3r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:412:51: style: The scope of the variable 'x3i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:461:20: style: The scope of the variable 'k2' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:462:22: style: The scope of the variable 'wk1i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:462:28: style: The scope of the variable 'wk2r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:462:34: style: The scope of the variable 'wk2i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:462:40: style: The scope of the variable 'wk3r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:462:46: style: The scope of the variable 'wk3i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:566:35: style: The scope of the variable 'k2' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:567:22: style: The scope of the variable 'wk1i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:567:28: style: The scope of the variable 'wk2r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:567:34: style: The scope of the variable 'wk2i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:567:40: style: The scope of the variable 'wk3r' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:567:46: style: The scope of the variable 'wk3i' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:693:16: style: The scope of the variable 'k' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:694:16: style: The scope of the variable 'wkr' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:694:21: style: The scope of the variable 'wki' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:694:26: style: The scope of the variable 'xr' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:694:30: style: The scope of the variable 'xi' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:694:34: style: The scope of the variable 'yr' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:694:38: style: The scope of the variable 'yi' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:718:16: style: The scope of the variable 'k' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:719:16: style: The scope of the variable 'wkr' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:719:21: style: The scope of the variable 'wki' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:719:26: style: The scope of the variable 'xr' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:719:30: style: The scope of the variable 'xi' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:719:34: style: The scope of the variable 'yr' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:719:38: style: The scope of the variable 'yi' can be reduced. [variableScope] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:124:19: style: Variable 'bEnd' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:144:19: style: Variable 'bEnd' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:459:45: style: Parameter 'w' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:564:52: style: Parameter 'w' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:691:54: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/FFTConvolver/AudioFFT.cpp:716:54: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/audio_pa.c:145:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_CONTEXT_READY [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pa.c:170:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_SAMPLE_S16NE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pa.c:257:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENODEV [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pa.c:389:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_SEEK_RELATIVE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pa.c:437:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_SEEK_RELATIVE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_jack.c:124:13: style: Variable 'ifp' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/audio_jack.c:408:10: style: Variable 'in' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/audio_jack.c:145:23: style: Variable 'frames_required' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/audio_pipe.c:59:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pipe.c:79:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pipe.c:128:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_pa.c:265:11: style: Redundant initialization for 'reply'. The initialized value is overwritten before it is read. [redundantInitialization] shairport-sync-3.3.8/audio_pa.c:257:13: note: reply is initialized shairport-sync-3.3.8/audio_pa.c:265:11: note: reply is overwritten shairport-sync-3.3.8/audio_pa.c:443:59: style: Parameter 'stream' can be declared as pointer to const. However it seems that 'stream_success_cb' is a callback function, if 'stream' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_pa.c:372:33: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_pa.c:443:59: note: Parameter 'stream' can be declared as pointer to const shairport-sync-3.3.8/audio_pa.c:445:54: style: Parameter 'userdata' can be declared as pointer to const. However it seems that 'stream_success_cb' is a callback function, if 'userdata' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_pa.c:372:33: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_pa.c:445:54: note: Parameter 'userdata' can be declared as pointer to const shairport-sync-3.3.8/audio_pa.c:239:9: portability: 'buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] shairport-sync-3.3.8/audio_pa.c:364:25: style: Variable 'bytes_transferred' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/audio_pipe.c:69:23: style: Parameter 'buf' can be declared as pointer to const. However it seems that 'play' is a callback function, if 'buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_pipe.c:154:37: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_pipe.c:69:23: note: Parameter 'buf' can be declared as pointer to const shairport-sync-3.3.8/audio_pa.c:390:25: style: Variable 'bytes_transferred' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/audio_pa.c:399:25: style: Variable 'bytes_transferred' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/audio_sndio.c:102:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIO_DEVANY [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_stdout.c:51:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_stdout.c:50:27: style: The comparison 'warned == 0' is always true. [knownConditionTrueFalse] shairport-sync-3.3.8/audio_stdout.c:48:16: note: 'warned' is assigned value '0' here. shairport-sync-3.3.8/audio_stdout.c:50:27: note: The comparison 'warned == 0' is always true. shairport-sync-3.3.8/audio_stdout.c:46:23: style: Parameter 'buf' can be declared as pointer to const. However it seems that 'play' is a callback function, if 'buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_stdout.c:87:39: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_stdout.c:46:23: note: Parameter 'buf' can be declared as pointer to const shairport-sync-3.3.8/audio_stdout.c:53:12: style: Variable 'warned' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/audio_soundio.c:39:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_soundio.c:101:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SoundIoBackendCoreAudio [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_soundio.c:137:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SoundIoFormatS16NE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_soundio.c:165:23: style: Parameter 'buf' can be declared as pointer to const. However it seems that 'play' is a callback function, if 'buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_soundio.c:219:40: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_soundio.c:165:23: note: Parameter 'buf' can be declared as pointer to const shairport-sync-3.3.8/common.c:132:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:141:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:161:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EEXIST [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:205:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:245:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:302:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:332:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:362:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:384:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:419:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:844:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:860:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:951:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:1147:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:1284:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:1384:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:1408:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:1433:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:185:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET6 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:408:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INET6_ADDRSTRLEN [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:540:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sec [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:958:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_MUTEX_ERRORCHECK [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:1077:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId32 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:1091:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_sndio.c:249:53: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'onmove_cb' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/audio_sndio.c:209:19: note: You might need to cast the function pointer here shairport-sync-3.3.8/audio_sndio.c:249:53: note: Parameter 'arg' can be declared as pointer to const shairport-sync-3.3.8/dbus-service.c:207:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIX64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dbus-service.c:986:69: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dbus-service.c:1053:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBT_session [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dbus-service.c:1067:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dbus-service.c:1078:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/common.c:1425:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] shairport-sync-3.3.8/common.c:246:14: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/common.c:1389:18: style: Condition 'debuglevel!=0' is always true [knownConditionTrueFalse] shairport-sync-3.3.8/common.c:1415:19: style: Condition 'debuglevel!=0' is always true [knownConditionTrueFalse] shairport-sync-3.3.8/common.c:1379:82: style:inconclusive: Function '_debug_mutex_lock' argument 3 names different: declaration 'mutexName' definition 'mutexname'. [funcArgNamesDifferent] shairport-sync-3.3.8/common.h:409:82: note: Function '_debug_mutex_lock' argument 3 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-3.3.8/common.c:1379:82: note: Function '_debug_mutex_lock' argument 3 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-3.3.8/common.c:1403:61: style:inconclusive: Function '_debug_mutex_unlock' argument 2 names different: declaration 'mutexName' definition 'mutexname'. [funcArgNamesDifferent] shairport-sync-3.3.8/common.h:414:61: note: Function '_debug_mutex_unlock' argument 2 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-3.3.8/common.c:1403:61: note: Function '_debug_mutex_unlock' argument 2 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-3.3.8/common.c:149:13: style: Variable 'dname' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/common.c:435:9: style: Variable 'pp' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/common.c:1180:9: style: Variable 'tok' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/common.c:1681:58: style: Parameter 's' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/dbus-service.c:769:28: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] shairport-sync-3.3.8/common.c:1099:10: error: Uninitialized variable: time_now_fp [uninitvar] shairport-sync-3.3.8/common.c:1139:10: error: Uninitialized variable: time_now_ns [uninitvar] shairport-sync-3.3.8/common.c:178:21: style: Variable 'flags' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/common.c:295:21: style: Variable 'space_remaining' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/common.c:1053:12: style: Variable 'time_now_fp' is not assigned a value. [unassignedVariable] shairport-sync-3.3.8/common.c:1103:12: style: Variable 'time_now_ns' is not assigned a value. [unassignedVariable] shairport-sync-3.3.8/dbus-service.c:478:77: style: Parameter 'skeleton' can be declared as pointer to const. However it seems that 'notify_convolution_callback' is a callback function, if 'skeleton' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/dbus-service.c:822:3: note: You might need to cast the function pointer here shairport-sync-3.3.8/dbus-service.c:478:77: note: Parameter 'skeleton' can be declared as pointer to const shairport-sync-3.3.8/dbus-service.c:479:71: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'notify_convolution_callback' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/dbus-service.c:822:3: note: You might need to cast the function pointer here shairport-sync-3.3.8/dbus-service.c:479:71: note: Parameter 'user_data' can be declared as pointer to const shairport-sync-3.3.8/dbus-service.c:500:82: style: Parameter 'skeleton' can be declared as pointer to const. However it seems that 'notify_convolution_gain_callback' is a callback function, if 'skeleton' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/dbus-service.c:824:3: note: You might need to cast the function pointer here shairport-sync-3.3.8/dbus-service.c:500:82: note: Parameter 'skeleton' can be declared as pointer to const shairport-sync-3.3.8/dbus-service.c:501:76: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'notify_convolution_gain_callback' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/dbus-service.c:824:3: note: You might need to cast the function pointer here shairport-sync-3.3.8/dbus-service.c:501:76: note: Parameter 'user_data' can be declared as pointer to const shairport-sync-3.3.8/dbus-service.c:525:33: style: Variable 'th' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dbus-service.c:525:36: style: Variable 'th' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/loudness.c:30:53: style:inconclusive: Function 'loudness_process' argument 2 names different: declaration 'sample' definition 'i0'. [funcArgNamesDifferent] shairport-sync-3.3.8/loudness.h:14:53: note: Function 'loudness_process' argument 2 names different: declaration 'sample' definition 'i0'. shairport-sync-3.3.8/loudness.c:30:53: note: Function 'loudness_process' argument 2 names different: declaration 'sample' definition 'i0'. shairport-sync-3.3.8/mdns.c:67:29: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] shairport-sync-3.3.8/mdns_avahi.c:144:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_PROTO_UNSPEC [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mdns_avahi.c:237:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_IF_UNSPEC [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mdns_avahi.c:285:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_ERR_DISCONNECTED [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mdns_dns_sd.c:73:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kDNSServiceInterfaceIndexAny [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mdns_avahi.c:292:7: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] shairport-sync-3.3.8/mdns_avahi.c:320:33: style: Parameter 'srvname' can be declared as pointer to const. However it seems that 'avahi_register' is a callback function, if 'srvname' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/mdns_avahi.c:423:45: note: You might need to cast the function pointer here shairport-sync-3.3.8/mdns_avahi.c:320:33: note: Parameter 'srvname' can be declared as pointer to const shairport-sync-3.3.8/mdns_external.c:48:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFD [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mdns_tinysvcmdns.c:76:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IFF_LOOPBACK [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mdns_tinysvcmdns.c:144:10: warning: Either the condition 'extendedregtype==NULL' is redundant or there is possible null pointer dereference: extendedregtype. [nullPointerRedundantCheck] shairport-sync-3.3.8/mdns_tinysvcmdns.c:141:23: note: Assuming that condition 'extendedregtype==NULL' is not redundant shairport-sync-3.3.8/mdns_tinysvcmdns.c:144:10: note: Null pointer dereference shairport-sync-3.3.8/mdns_tinysvcmdns.c:145:10: warning: Either the condition 'extendedregtype==NULL' is redundant or there is possible null pointer dereference: extendedregtype. [nullPointerRedundantCheck] shairport-sync-3.3.8/mdns_tinysvcmdns.c:141:23: note: Assuming that condition 'extendedregtype==NULL' is not redundant shairport-sync-3.3.8/mdns_tinysvcmdns.c:145:10: note: Null pointer dereference shairport-sync-3.3.8/mdns_tinysvcmdns.c:72:12: style: Variable 'ifa' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-3.3.8/mdns_tinysvcmdns.c:69:7: note: ifa is assigned shairport-sync-3.3.8/mdns_tinysvcmdns.c:72:12: note: ifa is overwritten shairport-sync-3.3.8/mdns_tinysvcmdns.c:41:44: style: Parameter 'apname' can be declared as pointer to const. However it seems that 'mdns_tinysvcmdns_register' is a callback function, if 'apname' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/mdns_tinysvcmdns.c:165:51: note: You might need to cast the function pointer here shairport-sync-3.3.8/mdns_tinysvcmdns.c:41:44: note: Parameter 'apname' can be declared as pointer to const shairport-sync-3.3.8/mdns_tinysvcmdns.c:59:9: style: Variable 'hostend' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/mpris-service.c:179:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIX64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mpris-service.c:341:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBT_session [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mpris-service.c:348:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBT_session [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mpris-service.c:362:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mpris-service.c:374:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/metadata_hub.c:257:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EEXIST [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/metadata_hub.c:350:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIx64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mqtt.c:102:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MOSQ_ERR_SUCCESS [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mqtt.c:205:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MOSQ_ERR_SUCCESS [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/mqtt.c:122:10: style: Local variable 'topic' shadows outer variable [shadowVariable] shairport-sync-3.3.8/mqtt.c:19:7: note: Shadowed declaration shairport-sync-3.3.8/mqtt.c:122:10: note: Shadow variable shairport-sync-3.3.8/mqtt.c:74:62: style: Parameter 'mosq' can be declared as pointer to const. However it seems that 'on_disconnect' is a callback function, if 'mosq' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/mqtt.c:222:50: note: You might need to cast the function pointer here shairport-sync-3.3.8/mqtt.c:74:62: note: Parameter 'mosq' can be declared as pointer to const shairport-sync-3.3.8/mqtt.c:75:50: style: Parameter 'userdata' can be declared as pointer to const. However it seems that 'on_disconnect' is a callback function, if 'userdata' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/mqtt.c:222:50: note: You might need to cast the function pointer here shairport-sync-3.3.8/mqtt.c:75:50: note: Parameter 'userdata' can be declared as pointer to const shairport-sync-3.3.8/mqtt.c:94:25: style: Parameter 'topic' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/metadata_hub.c:292:29: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] shairport-sync-3.3.8/metadata_hub.c:288:20: warning: Either the condition 'full_filename==NULL' is redundant or there is possible null pointer dereference: full_filename. [nullPointerRedundantCheck] shairport-sync-3.3.8/metadata_hub.c:286:31: note: Assuming that condition 'full_filename==NULL' is not redundant shairport-sync-3.3.8/metadata_hub.c:288:20: note: Null pointer dereference shairport-sync-3.3.8/metadata_hub.c:289:22: warning: Either the condition 'full_filename==NULL' is redundant or there is possible null pointer dereference: full_filename. [nullPointerRedundantCheck] shairport-sync-3.3.8/metadata_hub.c:286:31: note: Assuming that condition 'full_filename==NULL' is not redundant shairport-sync-3.3.8/metadata_hub.c:289:22: note: Null pointer dereference shairport-sync-3.3.8/metadata_hub.c:68:36: style:inconclusive: Function 'string_update' argument 2 names different: declaration 'changed' definition 'flag'. [funcArgNamesDifferent] shairport-sync-3.3.8/metadata_hub.h:33:36: note: Function 'string_update' argument 2 names different: declaration 'changed' definition 'flag'. shairport-sync-3.3.8/metadata_hub.c:68:36: note: Function 'string_update' argument 2 names different: declaration 'changed' definition 'flag'. shairport-sync-3.3.8/metadata_hub.c:125:74: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'metadata_hub_unlock_hub_mutex_cleanup' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/metadata_hub.c:339:24: note: You might need to cast the function pointer here shairport-sync-3.3.8/metadata_hub.c:125:74: note: Parameter 'arg' can be declared as pointer to const shairport-sync-3.3.8/metadata_hub.c:206:13: style: Variable 'img_md5' can be declared as const array [constVariable] shairport-sync-3.3.8/metadata_hub.c:239:11: style: Variable 'ext' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/metadata_hub.c:260:13: style: Variable 'prefix' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/metadata_hub.c:356:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:366:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:373:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:381:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:390:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:398:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:406:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:414:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:422:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:439:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:447:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:455:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:463:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:471:38: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/metadata_hub.c:504:36: style: Variable 'metadata_packet_item_changed' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/player.c:1114:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/player.c:1630:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/player.c:1785:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/player.c:3117:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/player.c:3137:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:317:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu32 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:494:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:554:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:678:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:866:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:953:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtp.c:1194:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/dacp.c:1364:29: style: Variable 'http_response' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-3.3.8/dacp.c:1357:31: note: http_response is assigned shairport-sync-3.3.8/dacp.c:1364:29: note: http_response is overwritten shairport-sync-3.3.8/dacp.c:1098:44: style:inconclusive: Function 'dacp_get_speaker_list' argument 1 names different: declaration 'speaker_array' definition 'speaker_info'. [funcArgNamesDifferent] shairport-sync-3.3.8/dacp.h:25:44: note: Function 'dacp_get_speaker_list' argument 1 names different: declaration 'speaker_array' definition 'speaker_info'. shairport-sync-3.3.8/dacp.c:1098:44: note: Function 'dacp_get_speaker_list' argument 1 names different: declaration 'speaker_array' definition 'speaker_info'. shairport-sync-3.3.8/dacp.c:105:47: style: Parameter 'opaque' can be declared as pointer to const. However it seems that 'response_header' is a callback function, if 'opaque' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/dacp.c:118:5: note: You might need to cast the function pointer here shairport-sync-3.3.8/dacp.c:105:47: note: Parameter 'opaque' can be declared as pointer to const shairport-sync-3.3.8/dacp.c:141:8: style: Variable 'fd' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:378:57: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/dacp.c:418:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:1050:19: style: Variable 't' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:1236:17: style: Variable 'hn' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:1237:17: style: Variable 'ln' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:1290:19: style: Variable 'hn' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:1291:19: style: Variable 'ln' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/dacp.c:100:25: portability: 'response->body' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] shairport-sync-3.3.8/dacp.c:179:28: style: Variable 'response.malloced_size' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/dacp.c:496:36: style: Variable 'always_use_revision_number_1' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/dacp.c:526:43: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/dacp.c:540:27: style: Variable 'time_to_wait.tv_sec' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/dacp.c:541:28: style: Variable 'time_to_wait.tv_nsec' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/rtsp.c:661:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:842:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:2336:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:2530:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:2766:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:2808:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:2820:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/audio_alsa.c:1774:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/audio_alsa.c:2058:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/audio_alsa.c:1946:14: style:inconclusive: Function 'mute' argument 1 names different: declaration 'do_mute' definition 'mute_state_requested'. [funcArgNamesDifferent] shairport-sync-3.3.8/audio_alsa.c:72:14: note: Function 'mute' argument 1 names different: declaration 'do_mute' definition 'mute_state_requested'. shairport-sync-3.3.8/audio_alsa.c:1946:14: note: Function 'mute' argument 1 names different: declaration 'do_mute' definition 'mute_state_requested'. shairport-sync-3.3.8/audio_alsa.c:218:25: style: Local variable 'delay' shadows outer function [shadowFunction] shairport-sync-3.3.8/audio_alsa.c:62:5: note: Shadowed declaration shairport-sync-3.3.8/audio_alsa.c:218:25: note: Shadow variable shairport-sync-3.3.8/audio_alsa.c:735:9: style: Local variable 'dir' shadows outer variable [shadowVariable] shairport-sync-3.3.8/audio_alsa.c:415:12: note: Shadowed declaration shairport-sync-3.3.8/audio_alsa.c:735:9: note: Shadow variable shairport-sync-3.3.8/audio_alsa.c:1378:9: style: Local variable 'mute' shadows outer function [shadowFunction] shairport-sync-3.3.8/audio_alsa.c:72:5: note: Shadowed declaration shairport-sync-3.3.8/audio_alsa.c:1378:9: note: Shadow variable shairport-sync-3.3.8/audio_alsa.c:510:19: style: Variable 'formats' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/audio_alsa.c:278:13: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/shairport-sync-dbus-test-client.c:103:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/shairport-sync-dbus-test-client.c:35:81: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'on_properties_changed' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/shairport-sync-dbus-test-client.c:184:3: note: You might need to cast the function pointer here shairport-sync-3.3.8/shairport-sync-dbus-test-client.c:35:81: note: Parameter 'user_data' can be declared as pointer to const shairport-sync-3.3.8/shairport-sync-mpris-test-client.c:78:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/shairport.c:292:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POPT_ARG_NONE [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/shairport.c:1433:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/shairport.c:1478:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/shairport.c:207:18: style: Parameter 'progname' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/shairport.c:1439:64: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'main_thread_cleanup_handler' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/shairport.c:1771:24: note: You might need to cast the function pointer here shairport-sync-3.3.8/shairport.c:1439:64: note: Parameter 'arg' can be declared as pointer to const shairport-sync-3.3.8/shairport.c:1920:11: style: Variable 'ap_md5' can be declared as const array [constVariable] shairport-sync-3.3.8/shairport.c:1953:26: error: Uninitialized variable: ap_md5 [uninitvar] shairport-sync-3.3.8/rtsp.c:320:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/rtsp.c:750:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/rtsp.c:2006:9: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/rtsp.c:2756:13: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/rtsp.c:320:12: error: Invalid usleep() argument nr 1. The value is 2000000 but the valid values are '0:999999'. [invalidFunctionArg] shairport-sync-3.3.8/rtsp.c:2340:12: warning: Either the condition 'fd<0' is redundant or read() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] shairport-sync-3.3.8/rtsp.c:2337:10: note: Assuming that condition 'fd<0' is not redundant shairport-sync-3.3.8/rtsp.c:2340:12: note: Invalid argument shairport-sync-3.3.8/rtsp.c:368:3: error: Common realloc mistake: 'conns' nulled but not freed upon failure [memleakOnRealloc] shairport-sync-3.3.8/rtsp.c:708:5: error: Common realloc mistake: 'buf' nulled but not freed upon failure [memleakOnRealloc] shairport-sync-3.3.8/rtsp.c:2904:5: error: Common realloc mistake: 'sockfd' nulled but not freed upon failure [memleakOnRealloc] shairport-sync-3.3.8/rtsp.c:2325:26: warning: Either the condition 'encoded==NULL' is redundant or there is possible null pointer dereference: encoded. [nullPointerRedundantCheck] shairport-sync-3.3.8/rtsp.c:2322:15: note: Assuming that condition 'encoded==NULL' is not redundant shairport-sync-3.3.8/rtsp.c:2325:26: note: Null pointer dereference shairport-sync-3.3.8/rtsp.c:2955:14: warning: Either the condition 'conn==0' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-3.3.8/rtsp.c:2953:16: note: Assuming that condition 'conn==0' is not redundant shairport-sync-3.3.8/rtsp.c:2955:14: note: Null pointer dereference shairport-sync-3.3.8/rtsp.c:2956:7: warning: Either the condition 'conn==0' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-3.3.8/rtsp.c:2953:16: note: Assuming that condition 'conn==0' is not redundant shairport-sync-3.3.8/rtsp.c:2956:7: note: Null pointer dereference shairport-sync-3.3.8/rtsp.c:2959:7: warning: Either the condition 'conn==0' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-3.3.8/rtsp.c:2953:16: note: Assuming that condition 'conn==0' is not redundant shairport-sync-3.3.8/rtsp.c:2959:7: note: Null pointer dereference shairport-sync-3.3.8/rtsp.c:2960:11: warning: Either the condition 'conn==0' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-3.3.8/rtsp.c:2953:16: note: Assuming that condition 'conn==0' is not redundant shairport-sync-3.3.8/rtsp.c:2960:11: note: Null pointer dereference shairport-sync-3.3.8/rtsp.c:2056:23: warning: Either the condition 'cp' is redundant or there is overflow in pointer subtraction. [nullPointerArithmeticRedundantCheck] shairport-sync-3.3.8/rtsp.c:2054:23: note: Assuming that condition 'cp' is not redundant shairport-sync-3.3.8/rtsp.c:2082:12: note: Assignment to 'cp=next' shairport-sync-3.3.8/rtsp.c:2056:23: note: Null pointer subtraction shairport-sync-3.3.8/tinyhttp/example.cpp:64:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinyhttp/example.cpp:136:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/rtsp.c:2202:13: style: Local variable 'cp' shadows outer variable [shadowVariable] shairport-sync-3.3.8/rtsp.c:2051:11: note: Shadowed declaration shairport-sync-3.3.8/rtsp.c:2202:13: note: Shadow variable shairport-sync-3.3.8/rtsp.c:2203:11: style: Local variable 'cp_left' shadows outer variable [shadowVariable] shairport-sync-3.3.8/rtsp.c:2052:9: note: Shadowed declaration shairport-sync-3.3.8/rtsp.c:2203:11: note: Shadow variable shairport-sync-3.3.8/rtsp.c:2763:17: style: Local variable 'reply' shadows outer variable [shadowVariable] shairport-sync-3.3.8/rtsp.c:2644:35: note: Shadowed declaration shairport-sync-3.3.8/rtsp.c:2763:17: note: Shadow variable shairport-sync-3.3.8/rtsp.c:302:33: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtsp.c:483:45: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtsp.c:483:57: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtsp.c:496:47: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtsp.c:577:16: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:613:11: style: Variable 'cl' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:874:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:932:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:1013:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2043:11: style: Variable 'pssid' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2047:11: style: Variable 'pminlatency' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2048:11: style: Variable 'pmaxlatency' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2050:11: style: Variable 'pUncompressedCDAudio' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2180:13: style: Variable 'found' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2229:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2307:25: style: Variable 'sa' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2359:9: style: Variable 'realm' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2360:9: style: Variable 'username' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2361:9: style: Variable 'response' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2362:9: style: Variable 'uri' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2385:11: style: Variable 'digest_urp' can be declared as const array [constVariable] shairport-sync-3.3.8/rtsp.c:2385:42: style: Variable 'digest_total' can be declared as const array [constVariable] shairport-sync-3.3.8/rtsp.c:2762:15: style: Variable 'response_text' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2975:33: style: Variable 'sa' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtsp.c:2458:46: error: Uninitialized variable: digest_urp [uninitvar] shairport-sync-3.3.8/rtsp.c:2511:46: error: Uninitialized variable: digest_total [uninitvar] shairport-sync-3.3.8/rtsp.c:2458:56: error: Uninitialized variable: digest_urp[i] [legacyUninitvar] shairport-sync-3.3.8/rtsp.c:2511:58: error: Uninitialized variable: digest_total[i] [legacyUninitvar] shairport-sync-3.3.8/rtsp.c:875:22: style: Variable 'rtptime' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/rtsp.c:2385:27: style: Unused variable: digest_mu [unusedVariable] shairport-sync-3.3.8/tinyhttp/http.c:199:22: style: Same expression on both sides of '-='. [duplicateExpression] shairport-sync-3.3.8/tinyhttp/http.c:224:44: style: Parameter 'rt' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/tinyhttp/http.c:51:18: style: C-style pointer casting [cstyleCast] shairport-sync-3.3.8/tinyhttp/example.cpp:71:37: style: C-style pointer casting [cstyleCast] shairport-sync-3.3.8/tinyhttp/example.cpp:85:21: style: C-style pointer casting [cstyleCast] shairport-sync-3.3.8/tinyhttp/example.cpp:111:30: style: C-style pointer casting [cstyleCast] shairport-sync-3.3.8/tinyhttp/example.cpp:120:30: style: C-style pointer casting [cstyleCast] shairport-sync-3.3.8/tinyhttp/example.cpp:67:20: style: Variable 'ai' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/tinyhttp/example.cpp:115:35: style: Parameter 'opaque' can be declared as pointer to const. However it seems that 'response_header' is a callback function, if 'opaque' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/tinyhttp/example.cpp:127:5: note: You might need to cast the function pointer here shairport-sync-3.3.8/tinyhttp/example.cpp:115:35: note: Parameter 'opaque' can be declared as pointer to const shairport-sync-3.3.8/tinysvcmdns.c:456:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_A [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:468:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_AAAA [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:480:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_SRV [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:492:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_PTR [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:512:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:520:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_TXT [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:593:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_PTR [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:776:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in6_addr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:991:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in6_addr [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1175:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1225:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1253:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1274:93: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_ANY [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1302:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_PTR [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1496:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1585:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1605:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1644:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_TXT [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:1709:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] shairport-sync-3.3.8/tinysvcmdns.c:354:14: error: Deallocation of an auto-variable (.) results in undefined behaviour. [autovarInvalidDeallocation] shairport-sync-3.3.8/tinysvcmdns.c:346:15: note: Address of variable taken here. shairport-sync-3.3.8/tinysvcmdns.c:354:14: note: Deallocating memory that was not dynamically allocated shairport-sync-3.3.8/tinysvcmdns.c:1747:23: style: Condition 's->stop_flag!=2' is always true [knownConditionTrueFalse] shairport-sync-3.3.8/tinysvcmdns.c:1744:18: note: Assignment 's->stop_flag=1', assigned value is 1 shairport-sync-3.3.8/tinysvcmdns.c:1747:23: note: Condition 's->stop_flag!=2' is always true shairport-sync-3.3.8/tinysvcmdns.c:102:3: warning: Either the condition 'newlabel' is redundant or there is possible null pointer dereference: newlabel. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:98:7: note: Assuming that condition 'newlabel' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:102:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:863:3: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:863:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:865:3: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:865:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:867:3: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:867:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:869:3: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:869:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:871:3: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:871:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:873:3: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:873:3: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:879:19: warning: Either the condition 'pkt' is redundant or there is possible null pointer dereference: pkt. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:857:3: note: Assuming that condition 'pkt' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:879:19: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:935:7: warning: Either the condition 'new_c' is redundant or there is possible null pointer dereference: new_c. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:933:7: note: Assuming that condition 'new_c' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:935:7: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:936:7: warning: Either the condition 'new_c' is redundant or there is possible null pointer dereference: new_c. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:933:7: note: Assuming that condition 'new_c' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:936:7: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:1708:19: warning: Either the condition 'server' is redundant or there is possible null pointer dereference: server. [nullPointerRedundantCheck] shairport-sync-3.3.8/tinysvcmdns.c:1703:7: note: Assuming that condition 'server' is not redundant shairport-sync-3.3.8/tinysvcmdns.c:1708:19: note: Null pointer dereference shairport-sync-3.3.8/tinysvcmdns.c:458:13: style: Variable 'rr->ttl' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-3.3.8/tinysvcmdns.c:456:5: note: rr->ttl is assigned shairport-sync-3.3.8/tinysvcmdns.c:458:13: note: rr->ttl is overwritten shairport-sync-3.3.8/tinysvcmdns.c:470:13: style: Variable 'rr->ttl' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-3.3.8/tinysvcmdns.c:468:5: note: rr->ttl is assigned shairport-sync-3.3.8/tinysvcmdns.c:470:13: note: rr->ttl is overwritten shairport-sync-3.3.8/tinysvcmdns.c:493:21: style: Variable 'rr->cache_flush' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-3.3.8/tinysvcmdns.c:492:5: note: rr->cache_flush is assigned shairport-sync-3.3.8/tinysvcmdns.c:493:21: note: rr->cache_flush is overwritten shairport-sync-3.3.8/tinysvcmdns.c:170:12: style: Variable 'e' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/tinysvcmdns.c:248:37: style: Parameter 'pkt_buf' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/tinysvcmdns.c:267:12: style: Variable 'e' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/tinysvcmdns.c:570:61: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/tinysvcmdns.c:578:66: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/tinysvcmdns.c:589:75: style: Parameter 'entry' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/tinysvcmdns.c:956:32: style: Variable 'p_data' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/tinysvcmdns.c:959:12: style: Variable 'label' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/tinysvcmdns.c:1355:24: style: Variable 'known_ans' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/tinysvcmdns.c:1451:29: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtp.c:515:7: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/rtp.c:517:7: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-3.3.8/rtp.c:517:14: error: Invalid usleep() argument nr 1. The value is 3000000 but the valid values are '0:999999'. [invalidFunctionArg] shairport-sync-3.3.8/rtp.c:343:47: style: Redundant condition: The condition 'conn->AirPlayVersion >= 371' is redundant since 'conn->AirPlayVersion > 0' is sufficient. [redundantCondition] shairport-sync-3.3.8/rtp.c:1083:11: style: Condition 'local_time' is always true [knownConditionTrueFalse] shairport-sync-3.3.8/rtp.c:1079:44: note: Assuming that condition 'local_time==0' is not redundant shairport-sync-3.3.8/rtp.c:1083:11: note: Condition 'local_time' is always true shairport-sync-3.3.8/rtp.c:1087:23: style: Condition 'local_time==0' is always false [knownConditionTrueFalse] shairport-sync-3.3.8/rtp.c:1079:44: note: Assuming that condition 'local_time==0' is not redundant shairport-sync-3.3.8/rtp.c:1087:23: note: Condition 'local_time==0' is always false shairport-sync-3.3.8/rtp.c:962:43: warning: Possible null pointer dereference: client_addr [nullPointer] shairport-sync-3.3.8/rtp.c:934:25: note: Assignment 'client_addr=NULL', assigned value is 0 shairport-sync-3.3.8/rtp.c:953:36: note: Assuming condition is false shairport-sync-3.3.8/rtp.c:962:43: note: Null pointer dereference shairport-sync-3.3.8/rtp.c:964:43: warning: Possible null pointer dereference: self_addr [nullPointer] shairport-sync-3.3.8/rtp.c:934:44: note: Assignment 'self_addr=NULL', assigned value is 0 shairport-sync-3.3.8/rtp.c:953:36: note: Assuming condition is false shairport-sync-3.3.8/rtp.c:964:43: note: Null pointer dereference shairport-sync-3.3.8/rtp.c:85:12: style: Redundant initialization for 'result'. The initialized value is overwritten before it is read. [redundantInitialization] shairport-sync-3.3.8/rtp.c:83:19: note: result is initialized shairport-sync-3.3.8/rtp.c:85:12: note: result is overwritten shairport-sync-3.3.8/rtp.c:919:60: style:inconclusive: Function 'rtp_setup' argument 3 names different: declaration 'controlport' definition 'cport'. [funcArgNamesDifferent] shairport-sync-3.3.8/rtp.h:15:60: note: Function 'rtp_setup' argument 3 names different: declaration 'controlport' definition 'cport'. shairport-sync-3.3.8/rtp.c:919:60: note: Function 'rtp_setup' argument 3 names different: declaration 'controlport' definition 'cport'. shairport-sync-3.3.8/rtp.c:919:76: style:inconclusive: Function 'rtp_setup' argument 4 names different: declaration 'timingport' definition 'tport'. [funcArgNamesDifferent] shairport-sync-3.3.8/rtp.h:15:82: note: Function 'rtp_setup' argument 4 names different: declaration 'timingport' definition 'tport'. shairport-sync-3.3.8/rtp.c:919:76: note: Function 'rtp_setup' argument 4 names different: declaration 'timingport' definition 'tport'. shairport-sync-3.3.8/rtp.c:76:62: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtp.c:96:71: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'rtp_audio_receiver_cleanup_handler' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/rtp.c:101:24: note: You might need to cast the function pointer here shairport-sync-3.3.8/rtp.c:96:71: note: Parameter 'arg' can be declared as pointer to const shairport-sync-3.3.8/rtp.c:231:72: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'rtp_control_handler_cleanup_handler' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-3.3.8/rtp.c:236:24: note: You might need to cast the function pointer here shairport-sync-3.3.8/rtp.c:231:72: note: Parameter 'arg' can be declared as pointer to const shairport-sync-3.3.8/rtp.c:912:25: style: Variable 'sa' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtp.c:934:11: style: Variable 'client_addr' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtp.c:934:32: style: Variable 'self_addr' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/rtp.c:1058:55: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtp.c:1069:89: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/rtp.c:477:14: style: Variable 'req.filler' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/rtp.c:611:18: style: Variable 'stat_M2' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/rtp.c:701:21: style: Variable 'stat_M2' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/player.c:2495:21: style: Condition 'do_loudness' is always true [knownConditionTrueFalse] shairport-sync-3.3.8/player.c:3115:27: warning: Either the condition 'pt==NULL' is redundant or there is possible null pointer dereference: pt. [nullPointerRedundantCheck] shairport-sync-3.3.8/player.c:3112:10: note: Assuming that condition 'pt==NULL' is not redundant shairport-sync-3.3.8/player.c:3115:27: note: Null pointer dereference shairport-sync-3.3.8/player.c:2211:31: style: Variable 'current_delay' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-3.3.8/player.c:2209:29: note: current_delay is assigned shairport-sync-3.3.8/player.c:2211:31: note: current_delay is overwritten shairport-sync-3.3.8/player.c:2840:48: style:inconclusive: Function 'player_volume_without_notification' argument 1 names different: declaration 'f' definition 'airplay_volume'. [funcArgNamesDifferent] shairport-sync-3.3.8/player.h:281:48: note: Function 'player_volume_without_notification' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-3.3.8/player.c:2840:48: note: Function 'player_volume_without_notification' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-3.3.8/player.c:3071:27: style:inconclusive: Function 'player_volume' argument 1 names different: declaration 'f' definition 'airplay_volume'. [funcArgNamesDifferent] shairport-sync-3.3.8/player.h:280:27: note: Function 'player_volume' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-3.3.8/player.c:3071:27: note: Function 'player_volume' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-3.3.8/player.c:325:38: style: Parameter 'fmtp' can be declared as const array [constParameter] shairport-sync-3.3.8/player.c:644:53: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-3.3.8/player.c:959:17: style: Variable 'firstPacket' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/player.c:960:17: style: Variable 'lastPacket' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/player.c:2080:22: style: Variable 'inps' can be declared as pointer to const [constVariablePointer] shairport-sync-3.3.8/player.c:1209:26: style: int result is assigned to long variable. If the variable is long to avoid loss of information, then you have loss of information. [truncLongCastAssignment] shairport-sync-3.3.8/player.c:1382:43: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/player.c:1384:34: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/player.c:1385:34: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-3.3.8/player.c:2301:36: style: Variable 'final_adjustment' is assigned a value that is never used. [unreadVariable] diff: DONE