2025-07-11 12:47 ftp://ftp.de.debian.org/debian/pool/main/s/shairport-sync/shairport-sync_4.3.7.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=openssl --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j3 platform: Linux-6.8.0-63-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 cppcheck: head 2.17.0 head-info: 8f3d36a (2025-07-08 11:07:56 +0200) count: 717 695 elapsed-time: 3.7 3.8 head-timing-info: old-timing-info: head results: shairport-sync-4.3.7/FFTConvolver/Utilities.h:319:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable T [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/FFTConvolver/Utilities.h:154:6: performance:inconclusive: Technically the member function 'fftconvolver::Buffer < float >::allocate' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-4.3.7/FFTConvolver/Utilities.h:163:8: performance:inconclusive: Technically the member function 'fftconvolver::Buffer < float >::deallocate' can be static (but you may consider moving to unnamed namespace). [functionStatic] shairport-sync-4.3.7/FFTConvolver/convolver.cpp:26:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SFM_READ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/activity_monitor.c:198:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ETIMEDOUT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/activity_monitor.c:178:45: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/activity_monitor.c:152:12: style: Unused variable: sec [unusedVariable] shairport-sync-4.3.7/activity_monitor.c:153:12: style: Unused variable: nsec [unusedVariable] shairport-sync-4.3.7/activity_monitor.c:154:19: style: Unused variable: time_for_wait [unusedVariable] shairport-sync-4.3.7/activity_monitor.c:178:18: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/FFTConvolver/convolver.cpp:22:32: style:inconclusive: Function 'convolver_init' argument 1 names different: declaration 'file' definition 'filename'. [funcArgNamesDifferent] shairport-sync-4.3.7/FFTConvolver/convolver.h:8:32: note: Function 'convolver_init' argument 1 names different: declaration 'file' definition 'filename'. shairport-sync-4.3.7/FFTConvolver/convolver.cpp:22:32: note: Function 'convolver_init' argument 1 names different: declaration 'file' definition 'filename'. shairport-sync-4.3.7/FFTConvolver/convolver.cpp:55:37: warning: Uninitialized variable: buffer_l [uninitvar] shairport-sync-4.3.7/FFTConvolver/convolver.cpp:49:26: note: Assuming condition is false shairport-sync-4.3.7/FFTConvolver/convolver.cpp:55:37: note: Uninitialized variable: buffer_l shairport-sync-4.3.7/FFTConvolver/convolver.cpp:56:37: warning: Uninitialized variable: buffer_r [uninitvar] shairport-sync-4.3.7/FFTConvolver/convolver.cpp:49:26: note: Assuming condition is false shairport-sync-4.3.7/FFTConvolver/convolver.cpp:56:37: note: Uninitialized variable: buffer_r shairport-sync-4.3.7/alac.c:657:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/alac.c:1007:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/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-4.3.7/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-4.3.7/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-4.3.7/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-4.3.7/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-4.3.7/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-4.3.7/FFTConvolver/AudioFFT.cpp:210:13: style: The scope of the variable 'j' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:210:16: style: The scope of the variable 'nwh' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:211:16: style: The scope of the variable 'delta' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:211:23: style: The scope of the variable 'x' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:211:26: style: The scope of the variable 'y' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:239:13: style: The scope of the variable 'j' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:239:16: style: The scope of the variable 'nch' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:240:16: style: The scope of the variable 'delta' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:361:20: style: The scope of the variable 'j2' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:361:24: style: The scope of the variable 'j3' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:362:26: style: The scope of the variable 'x1r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:362:31: style: The scope of the variable 'x1i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:362:36: style: The scope of the variable 'x2r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:362:41: style: The scope of the variable 'x2i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:362:46: style: The scope of the variable 'x3r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:362:51: style: The scope of the variable 'x3i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:411:20: style: The scope of the variable 'j2' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:411:24: style: The scope of the variable 'j3' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:412:26: style: The scope of the variable 'x1r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:412:31: style: The scope of the variable 'x1i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:412:36: style: The scope of the variable 'x2r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:412:41: style: The scope of the variable 'x2i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:412:46: style: The scope of the variable 'x3r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:412:51: style: The scope of the variable 'x3i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:461:20: style: The scope of the variable 'k2' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:462:22: style: The scope of the variable 'wk1i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:462:28: style: The scope of the variable 'wk2r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:462:34: style: The scope of the variable 'wk2i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:462:40: style: The scope of the variable 'wk3r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:462:46: style: The scope of the variable 'wk3i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:566:35: style: The scope of the variable 'k2' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:567:22: style: The scope of the variable 'wk1i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:567:28: style: The scope of the variable 'wk2r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:567:34: style: The scope of the variable 'wk2i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:567:40: style: The scope of the variable 'wk3r' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:567:46: style: The scope of the variable 'wk3i' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:693:16: style: The scope of the variable 'k' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:694:16: style: The scope of the variable 'wkr' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:694:21: style: The scope of the variable 'wki' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:694:26: style: The scope of the variable 'xr' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:694:30: style: The scope of the variable 'xi' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:694:34: style: The scope of the variable 'yr' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:694:38: style: The scope of the variable 'yi' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:718:16: style: The scope of the variable 'k' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:719:16: style: The scope of the variable 'wkr' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:719:21: style: The scope of the variable 'wki' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:719:26: style: The scope of the variable 'xr' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:719:30: style: The scope of the variable 'xi' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:719:34: style: The scope of the variable 'yr' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:719:38: style: The scope of the variable 'yi' can be reduced. [variableScope] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:124:19: style: Variable 'bEnd' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:144:19: style: Variable 'bEnd' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:459:45: style: Parameter 'w' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:564:52: style: Parameter 'w' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:691:54: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/FFTConvolver/AudioFFT.cpp:716:54: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/audio_ao.c:73:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_ao.c:144:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_ao.c:162:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_ao.c:176:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_ao.c:118:10: warning: Either the condition '!mid' is redundant or there is possible null pointer dereference: mid. [nullPointerRedundantCheck] shairport-sync-4.3.7/audio_ao.c:116:13: note: Assuming that condition '!mid' is not redundant shairport-sync-4.3.7/audio_ao.c:118:10: note: Null pointer dereference shairport-sync-4.3.7/audio_ao.c:119:48: warning: Either the condition '!mid' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck] shairport-sync-4.3.7/audio_ao.c:116:13: note: Assuming that condition '!mid' is not redundant shairport-sync-4.3.7/audio_ao.c:119:48: note: Null pointer addition shairport-sync-4.3.7/audio_ao.c:51:14: style: Variable 'defaultDriverInfo' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/audio_ao.c:60:18: style: Variable 'the_driver' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/alac.c:469:26: style: The if condition is the same as the previous if condition [duplicateCondition] shairport-sync-4.3.7/alac.c:438:26: note: First condition shairport-sync-4.3.7/alac.c:469:26: note: Second condition shairport-sync-4.3.7/audio_ao.c:54:11: style: Variable 'i' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/alac.c:439:9: style: Local variable 'i' shadows outer variable [shadowVariable] shairport-sync-4.3.7/alac.c:408:7: note: Shadowed declaration shairport-sync-4.3.7/alac.c:439:9: note: Shadow variable shairport-sync-4.3.7/alac.c:724:13: style: Local variable 'i' shadows outer variable [shadowVariable] shairport-sync-4.3.7/alac.c:705:11: note: Shadowed declaration shairport-sync-4.3.7/alac.c:724:13: note: Shadow variable shairport-sync-4.3.7/alac.c:899:13: style: Local variable 'i' shadows outer variable [shadowVariable] shairport-sync-4.3.7/alac.c:868:11: note: Shadowed declaration shairport-sync-4.3.7/alac.c:899:13: note: Shadow variable shairport-sync-4.3.7/alac.c:404:53: style: Parameter 'error_buffer' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/alac.c:524:37: style: Parameter 'buffer_a' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/alac.c:524:56: style: Parameter 'buffer_b' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/alac.c:575:37: style: Parameter 'buffer_a' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/alac.c:575:56: style: Parameter 'buffer_b' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/alac.c:576:37: style: Parameter 'uncompressed_bytes_buffer_a' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/alac.c:577:37: style: Parameter 'uncompressed_bytes_buffer_b' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/audio_alsa.c:383:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENXIO [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:498:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_PCM_STREAM_PLAYBACK [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:944:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:962:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1053:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1439:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1454:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1510:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_PCM_STATE_DISCONNECTED [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1540:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_PCM_STATE_DISCONNECTED [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1720:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1751:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1783:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1873:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1900:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENODEV [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:2024:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_dummy.c:61:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_dummy.c:55: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-4.3.7/audio_dummy.c:81:38: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_dummy.c:55:47: note: Parameter 'buf' can be declared as pointer to const shairport-sync-4.3.7/audio_jack.c:133:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable len [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_jack.c:164:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable JackPlaybackLatency [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_jack.c:232:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable JackNoStartServer [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_jack.c:392:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable len [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_pa.c:101:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_SAMPLE_S16NE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_pa.c:231:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_CONTEXT_READY [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_pa.c:303:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_ERR_NODATA [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_pa.c:405:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PA_SEEK_RELATIVE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_jack.c:99:13: style: Variable 'ifp' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/audio_jack.c:389:10: style: Variable 'in' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/audio_jack.c:120:23: style: Variable 'frames_required' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/audio_pa.c:428: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-4.3.7/audio_pa.c:392:33: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_pa.c:428:59: note: Parameter 'stream' can be declared as pointer to const shairport-sync-4.3.7/audio_pa.c:430: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-4.3.7/audio_pa.c:392:33: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_pa.c:430:54: note: Parameter 'userdata' can be declared as pointer to const shairport-sync-4.3.7/audio_pa.c:274:11: portability: 'buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] shairport-sync-4.3.7/audio_pw.c:264:67: error: syntax error: ( . format [syntaxError] shairport-sync-4.3.7/audio_pipe.c:59:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_pipe.c:81:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_pipe.c:130:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/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-4.3.7/audio_pipe.c:159:37: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_pipe.c:69:23: note: Parameter 'buf' can be declared as pointer to const shairport-sync-4.3.7/audio_sndio.c:86:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIO_DEVANY [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_soundio.c:41:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ptr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_soundio.c:103:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SoundIoBackendCoreAudio [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_soundio.c:139:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SoundIoFormatS16NE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_soundio.c:80:81: style: Parameter 'outstream' can be declared as pointer to const. However it seems that 'underflow_callback' is a callback function, if 'outstream' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/audio_soundio.c:143:35: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_soundio.c:80:81: note: Parameter 'outstream' can be declared as pointer to const shairport-sync-4.3.7/audio_soundio.c:167: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-4.3.7/audio_soundio.c:222:40: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_soundio.c:167:23: note: Parameter 'buf' can be declared as pointer to const shairport-sync-4.3.7/audio_sndio.c:66:46: 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-4.3.7/audio_sndio.c:202:19: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_sndio.c:66:46: note: Parameter 'arg' can be declared as pointer to const shairport-sync-4.3.7/audio_stdout.c:54:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_stdout.c:48: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-4.3.7/audio_stdout.c:91:39: note: You might need to cast the function pointer here shairport-sync-4.3.7/audio_stdout.c:48:23: note: Parameter 'buf' can be declared as pointer to const shairport-sync-4.3.7/common.c:164:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:173:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:193:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EEXIST [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:237:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:262:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:293:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:375:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:456:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:490:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:523:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:549:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:619:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1117:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1133:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1224:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1510:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1657:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1690:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1711:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1736:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1764:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIdPTR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1789:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/common.c:1805:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dacp.c:185:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET6 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dacp.c:410:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INET6_ADDRSTRLEN [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dacp.c:533:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sec [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dacp.c:945:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_MUTEX_ERRORCHECK [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dacp.c:1064:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId32 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dacp.c:1078:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/audio_alsa.c:1892:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/audio_alsa.c:2200:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/audio_alsa.c:2085:21: style:inconclusive: Function 'mute' argument 1 names different: declaration 'do_mute' definition 'mute_state_requested'. [funcArgNamesDifferent] shairport-sync-4.3.7/audio_alsa.c:81:21: note: Function 'mute' argument 1 names different: declaration 'do_mute' definition 'mute_state_requested'. shairport-sync-4.3.7/audio_alsa.c:2085:21: note: Function 'mute' argument 1 names different: declaration 'do_mute' definition 'mute_state_requested'. shairport-sync-4.3.7/audio_alsa.c:246:25: style: Local variable 'delay' shadows outer function [shadowFunction] shairport-sync-4.3.7/audio_alsa.c:69:12: note: Shadowed declaration shairport-sync-4.3.7/audio_alsa.c:246:25: note: Shadow variable shairport-sync-4.3.7/audio_alsa.c:817:9: style: Local variable 'dir' shadows outer variable [shadowVariable] shairport-sync-4.3.7/audio_alsa.c:479:12: note: Shadowed declaration shairport-sync-4.3.7/audio_alsa.c:817:9: note: Shadow variable shairport-sync-4.3.7/audio_alsa.c:1460:9: style: Local variable 'mute' shadows outer function [shadowFunction] shairport-sync-4.3.7/audio_alsa.c:81:12: note: Shadowed declaration shairport-sync-4.3.7/audio_alsa.c:1460:9: note: Shadow variable shairport-sync-4.3.7/audio_alsa.c:590:19: style: Variable 'formats' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:263:14: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/common.c:2190:7: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/common.c:1712:18: style: Condition 'debuglevel!=0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/common.c:1743:19: style: Condition 'debuglevel!=0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/common.c:2193:22: style: Condition 'response!=0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/common.c:2139:19: note: Assignment 'response=-1', assigned value is -1 shairport-sync-4.3.7/common.c:2193:22: note: Condition 'response!=0' is always true shairport-sync-4.3.7/common.c:642:38: warning: If memory allocation fails, then there is a possible null pointer dereference: pp [nullPointerOutOfMemory] shairport-sync-4.3.7/common.c:638:26: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:638:26: note: Assignment 'copypath=strdup(path)', assigned value is 0 shairport-sync-4.3.7/common.c:641:8: note: Assignment 'pp=copypath', assigned value is 0 shairport-sync-4.3.7/common.c:642:38: note: Null pointer dereference shairport-sync-4.3.7/common.c:2068:16: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] shairport-sync-4.3.7/common.c:2067:25: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2067:25: note: Assignment 'p=malloc(len+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2068:16: note: Null pointer dereference shairport-sync-4.3.7/common.c:2069:9: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] shairport-sync-4.3.7/common.c:2067:25: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2067:25: note: Assignment 'p=malloc(len+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2069:9: note: Null pointer dereference shairport-sync-4.3.7/common.c:2085:14: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] shairport-sync-4.3.7/common.c:2084:23: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2084:23: note: Assignment 'p=malloc(len+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2085:14: note: Null pointer dereference shairport-sync-4.3.7/common.c:2086:7: warning: If memory allocation fails, then there is a possible null pointer dereference: p [nullPointerOutOfMemory] shairport-sync-4.3.7/common.c:2084:23: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2084:23: note: Assignment 'p=malloc(len+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2086:7: note: Null pointer dereference shairport-sync-4.3.7/common.c:2115:14: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: obfp [nullPointerOutOfMemory] shairport-sync-4.3.7/common.c:2110:26: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2110:26: note: Assignment 'response=malloc(nread*3+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2112:16: note: Assignment 'obfp=response', assigned value is 0 shairport-sync-4.3.7/common.c:2115:14: note: Null pointer dereference shairport-sync-4.3.7/common.c:2116:10: error:inconclusive: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/common.c:2110:26: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2110:26: note: Assignment 'response=malloc(nread*3+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2112:16: note: Assignment 'obfp=response', assigned value is 0 shairport-sync-4.3.7/common.c:2116:10: note: Null pointer addition shairport-sync-4.3.7/common.c:2158:51: style: The comparison 'found == 0' is always true. [knownConditionTrueFalse] shairport-sync-4.3.7/common.c:2156:19: note: 'found' is assigned value '0' here. shairport-sync-4.3.7/common.c:2158:51: note: The comparison 'found == 0' is always true. shairport-sync-4.3.7/common.c:454:23: style:inconclusive: Function '_die' argument 1 names different: declaration 'filename' definition 'thefilename'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:383:23: note: Function '_die' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:454:23: note: Function '_die' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:488:24: style:inconclusive: Function '_warn' argument 1 names different: declaration 'filename' definition 'thefilename'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:384:24: note: Function '_warn' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:488:24: note: Function '_warn' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:519:25: style:inconclusive: Function '_debug' argument 1 names different: declaration 'filename' definition 'thefilename'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:386:25: note: Function '_debug' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:519:25: note: Function '_debug' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:547:26: style:inconclusive: Function '_inform' argument 1 names different: declaration 'filename' definition 'thefilename'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:385:26: note: Function '_inform' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:547:26: note: Function '_inform' argument 1 names different: declaration 'filename' definition 'thefilename'. shairport-sync-4.3.7/common.c:577:90: style:inconclusive: Function '_debug_print_buffer' argument 4 names different: declaration 'buf' definition 'vbuf'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:387:90: note: Function '_debug_print_buffer' argument 4 names different: declaration 'buf' definition 'vbuf'. shairport-sync-4.3.7/common.c:577:90: note: Function '_debug_print_buffer' argument 4 names different: declaration 'buf' definition 'vbuf'. shairport-sync-4.3.7/common.c:1706:82: style:inconclusive: Function '_debug_mutex_lock' argument 3 names different: declaration 'mutexName' definition 'mutexname'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:463:82: note: Function '_debug_mutex_lock' argument 3 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-4.3.7/common.c:1706:82: note: Function '_debug_mutex_lock' argument 3 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-4.3.7/common.c:1731:61: style:inconclusive: Function '_debug_mutex_unlock' argument 2 names different: declaration 'mutexName' definition 'mutexname'. [funcArgNamesDifferent] shairport-sync-4.3.7/common.h:468:61: note: Function '_debug_mutex_unlock' argument 2 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-4.3.7/common.c:1731:61: note: Function '_debug_mutex_unlock' argument 2 names different: declaration 'mutexName' definition 'mutexname'. shairport-sync-4.3.7/common.c:181:13: style: Variable 'dname' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:339:31: style: Variable 'sa' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:421:25: style: Variable 'sa' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:469:11: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:502:11: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:534:9: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:561:11: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:581:9: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:635:9: style: Variable 'pp' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:1373:12: style: Variable 'lines' can be declared as const array [constVariable] shairport-sync-4.3.7/common.c:1543:9: style: Variable 'tok' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:2061:58: style: Parameter 's' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/common.c:2111:18: style: Variable 'q' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:2141:19: style: Variable 'ifa' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/common.c:1441:10: error: Uninitialized variable: time_now_ns [uninitvar] shairport-sync-4.3.7/common.c:1502:10: error: Uninitialized variable: time_now_ns [uninitvar] shairport-sync-4.3.7/common.c:210:21: style: Variable 'flags' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/common.c:1402:12: style: Variable 'time_now_ns' is not assigned a value. [unassignedVariable] shairport-sync-4.3.7/common.c:1460:12: style: Variable 'time_now_ns' is not assigned a value. [unassignedVariable] shairport-sync-4.3.7/common.c:2155:9: style: Variable 't' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/loudness.c:30:53: style:inconclusive: Function 'loudness_process' argument 2 names different: declaration 'sample' definition 'i0'. [funcArgNamesDifferent] shairport-sync-4.3.7/loudness.h:14:53: note: Function 'loudness_process' argument 2 names different: declaration 'sample' definition 'i0'. shairport-sync-4.3.7/loudness.c:30:53: note: Function 'loudness_process' argument 2 names different: declaration 'sample' definition 'i0'. shairport-sync-4.3.7/dbus-service.c:238:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIX64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dbus-service.c:1116:69: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dbus-service.c:1183:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBT_session [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dbus-service.c:1197:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dbus-service.c:1208:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/dbus-service.c:858:28: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] shairport-sync-4.3.7/dbus-service.c:846:3: style: Statements following noreturn function 'exit()' will never be executed. [unreachableCode] shairport-sync-4.3.7/dbus-service.c:231:15: style: Variable 'artUrl' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:240:15: style: Variable 'trackid' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:249:15: style: Variable 'songdatakind' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:255:15: style: Variable 'track_name' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:261:15: style: Variable 'album_name' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:269:15: style: Variable 'artists' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:278:15: style: Variable 'album_artists' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:287:15: style: Variable 'composers' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:296:15: style: Variable 'genre' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:306:15: style: Variable 'tracklength' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:540: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-4.3.7/dbus-service.c:929:3: note: You might need to cast the function pointer here shairport-sync-4.3.7/dbus-service.c:540:77: note: Parameter 'skeleton' can be declared as pointer to const shairport-sync-4.3.7/dbus-service.c:541: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-4.3.7/dbus-service.c:929:3: note: You might need to cast the function pointer here shairport-sync-4.3.7/dbus-service.c:541:71: note: Parameter 'user_data' can be declared as pointer to const shairport-sync-4.3.7/dbus-service.c:562: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-4.3.7/dbus-service.c:931:3: note: You might need to cast the function pointer here shairport-sync-4.3.7/dbus-service.c:562:82: note: Parameter 'skeleton' can be declared as pointer to const shairport-sync-4.3.7/dbus-service.c:563: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-4.3.7/dbus-service.c:931:3: note: You might need to cast the function pointer here shairport-sync-4.3.7/dbus-service.c:563:76: note: Parameter 'user_data' can be declared as pointer to const shairport-sync-4.3.7/dbus-service.c:587:33: style: Variable 'th' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:862:13: style: Variable 'q' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dbus-service.c:587:36: style: Variable 'th' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/dbus-service.c:587:33: style: Variable 'th' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/mdns.c:68:28: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] shairport-sync-4.3.7/mdns_avahi.c:155:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_PROTO_UNSPEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_avahi.c:258:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_IF_UNSPEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_avahi.c:305:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_ERR_DISCONNECTED [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_avahi.c:361:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AVAHI_IF_UNSPEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_dns_sd.c:75:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kDNSServiceInterfaceIndexAny [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_avahi.c:393:33: style: Parameter 'ap1name' can be declared as pointer to const. However it seems that 'avahi_register' is a callback function, if 'ap1name' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/mdns_avahi.c:535:45: note: You might need to cast the function pointer here shairport-sync-4.3.7/mdns_avahi.c:393:33: note: Parameter 'ap1name' can be declared as pointer to const shairport-sync-4.3.7/mdns_avahi.c:393:48: style: Parameter 'ap2name' can be declared as pointer to const. However it seems that 'avahi_register' is a callback function, if 'ap2name' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/mdns_avahi.c:535:45: note: You might need to cast the function pointer here shairport-sync-4.3.7/mdns_avahi.c:393:48: note: Parameter 'ap2name' can be declared as pointer to const shairport-sync-4.3.7/mdns_avahi.c:356:11: style: Variable 'err' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/mdns_external.c:48:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFD [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_tinysvcmdns.c:78:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IFF_LOOPBACK [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mdns_tinysvcmdns.c:146:10: warning: If memory allocation fails, then there is a possible null pointer dereference: extendedregtype [nullPointerOutOfMemory] shairport-sync-4.3.7/mdns_tinysvcmdns.c:141:33: note: Assuming allocation function fails shairport-sync-4.3.7/mdns_tinysvcmdns.c:141:33: note: Assignment 'extendedregtype=malloc(strlen(config.regtype)+strlen(".local")+1)', assigned value is 0 shairport-sync-4.3.7/mdns_tinysvcmdns.c:146:10: note: Null pointer dereference shairport-sync-4.3.7/mdns_tinysvcmdns.c:147:10: warning: If memory allocation fails, then there is a possible null pointer dereference: extendedregtype [nullPointerOutOfMemory] shairport-sync-4.3.7/mdns_tinysvcmdns.c:141:33: note: Assuming allocation function fails shairport-sync-4.3.7/mdns_tinysvcmdns.c:141:33: note: Assignment 'extendedregtype=malloc(strlen(config.regtype)+strlen(".local")+1)', assigned value is 0 shairport-sync-4.3.7/mdns_tinysvcmdns.c:147:10: note: Null pointer dereference shairport-sync-4.3.7/mdns_tinysvcmdns.c:74:12: style: Variable 'ifa' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-4.3.7/mdns_tinysvcmdns.c:71:7: note: ifa is assigned shairport-sync-4.3.7/mdns_tinysvcmdns.c:74:12: note: ifa is overwritten shairport-sync-4.3.7/mdns_tinysvcmdns.c:41:44: style: Parameter 'ap1name' can be declared as pointer to const. However it seems that 'mdns_tinysvcmdns_register' is a callback function, if 'ap1name' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/mdns_tinysvcmdns.c:167:51: note: You might need to cast the function pointer here shairport-sync-4.3.7/mdns_tinysvcmdns.c:41:44: note: Parameter 'ap1name' can be declared as pointer to const shairport-sync-4.3.7/mdns_tinysvcmdns.c:61:9: style: Variable 'hostend' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:1085:44: style:inconclusive: Function 'dacp_get_speaker_list' argument 1 names different: declaration 'speaker_array' definition 'speaker_info'. [funcArgNamesDifferent] shairport-sync-4.3.7/dacp.h:25:44: note: Function 'dacp_get_speaker_list' argument 1 names different: declaration 'speaker_array' definition 'speaker_info'. shairport-sync-4.3.7/dacp.c:1085:44: note: Function 'dacp_get_speaker_list' argument 1 names different: declaration 'speaker_array' definition 'speaker_info'. shairport-sync-4.3.7/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-4.3.7/dacp.c:118:5: note: You might need to cast the function pointer here shairport-sync-4.3.7/dacp.c:105:47: note: Parameter 'opaque' can be declared as pointer to const shairport-sync-4.3.7/dacp.c:141:8: style: Variable 'fd' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:380:57: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/dacp.c:1037:19: style: Variable 't' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:1223:17: style: Variable 'hn' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:1224:17: style: Variable 'ln' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:1277:19: style: Variable 'hn' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:1278:19: style: Variable 'ln' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/dacp.c:100:25: portability: 'response->body' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] shairport-sync-4.3.7/dacp.c:179:28: style: Variable 'response.malloced_size' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/dacp.c:493:36: style: Variable 'always_use_revision_number_1' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/dacp.c:519:43: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/dacp.c:533:27: style: Variable 'time_to_wait.tv_sec' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/dacp.c:534:28: style: Variable 'time_to_wait.tv_nsec' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/dacp.c:519:16: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/mpris-service.c:179:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIX64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mpris-service.c:342:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBT_session [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mpris-service.c:349:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBT_session [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mpris-service.c:363:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mpris-service.c:375:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/metadata_hub.c:263:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EEXIST [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/metadata_hub.c:376:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIx64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mpris-service.c:234:3: style: Statements following noreturn function 'exit()' will never be executed. [unreachableCode] shairport-sync-4.3.7/mpris-service.c:64:53: style: Parameter 'argc' can be declared as pointer to const. However it seems that 'mpris_metadata_watcher' is a callback function, if 'argc' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/mpris-service.c:340:24: note: You might need to cast the function pointer here shairport-sync-4.3.7/mpris-service.c:64:53: note: Parameter 'argc' can be declared as pointer to const shairport-sync-4.3.7/mpris-service.c:172:15: style: Variable 'artUrl' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mpris-service.c:181:15: style: Variable 'trackid' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mpris-service.c:187:15: style: Variable 'track_name' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mpris-service.c:193:15: style: Variable 'album_name' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mpris-service.c:201:15: style: Variable 'artists' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mpris-service.c:210:15: style: Variable 'genre' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mpris-service.c:220:15: style: Variable 'tracklength' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mqtt.c:241:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MOSQ_ERR_SUCCESS [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mqtt.c:293:64: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIX64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/mqtt.c:400:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MOSQ_ERR_SUCCESS [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/client-example.c:52:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/client-example.c:176:12: style: Variable 'in' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/metadata_hub.c:272:16: warning: If memory allocation fails, then there is a possible null pointer dereference: path [nullPointerOutOfMemory] shairport-sync-4.3.7/metadata_hub.c:271:20: note: Assuming allocation function fails shairport-sync-4.3.7/metadata_hub.c:271:20: note: Assignment 'path=malloc(pl+1)', assigned value is 0 shairport-sync-4.3.7/metadata_hub.c:272:16: note: Null pointer dereference shairport-sync-4.3.7/metadata_hub.c:273:27: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: path [nullPointerOutOfMemory] shairport-sync-4.3.7/metadata_hub.c:271:20: note: Assuming allocation function fails shairport-sync-4.3.7/metadata_hub.c:271:20: note: Assignment 'path=malloc(pl+1)', assigned value is 0 shairport-sync-4.3.7/metadata_hub.c:273:27: note: Null pointer dereference shairport-sync-4.3.7/metadata_hub.c:294:20: warning: If memory allocation fails, then there is a possible null pointer dereference: full_filename [nullPointerOutOfMemory] shairport-sync-4.3.7/metadata_hub.c:291:41: note: Assuming allocation function fails shairport-sync-4.3.7/metadata_hub.c:291:41: note: Assignment 'full_filename=malloc(fnl)', assigned value is 0 shairport-sync-4.3.7/metadata_hub.c:294:20: note: Null pointer dereference shairport-sync-4.3.7/metadata_hub.c:295:22: warning: If memory allocation fails, then there is a possible null pointer dereference: full_filename [nullPointerOutOfMemory] shairport-sync-4.3.7/metadata_hub.c:291:41: note: Assuming allocation function fails shairport-sync-4.3.7/metadata_hub.c:291:41: note: Assignment 'full_filename=malloc(fnl)', assigned value is 0 shairport-sync-4.3.7/metadata_hub.c:295:22: note: Null pointer dereference shairport-sync-4.3.7/metadata_hub.c:68:36: style:inconclusive: Function 'string_update' argument 2 names different: declaration 'changed' definition 'flag'. [funcArgNamesDifferent] shairport-sync-4.3.7/metadata_hub.h:33:36: note: Function 'string_update' argument 2 names different: declaration 'changed' definition 'flag'. shairport-sync-4.3.7/metadata_hub.c:68:36: note: Function 'string_update' argument 2 names different: declaration 'changed' definition 'flag'. shairport-sync-4.3.7/metadata_hub.c:127: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-4.3.7/metadata_hub.c:351:24: note: You might need to cast the function pointer here shairport-sync-4.3.7/metadata_hub.c:127:74: note: Parameter 'arg' can be declared as pointer to const shairport-sync-4.3.7/metadata_hub.c:208:13: style: Variable 'img_md5' can be declared as const array [constVariable] shairport-sync-4.3.7/metadata_hub.c:245:11: style: Variable 'ext' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/metadata_hub.c:266:13: style: Variable 'prefix' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/mqtt.c:225:38: style:inconclusive: Function 'mqtt_publish' argument 2 names different: declaration 'data' definition 'data_in'. [funcArgNamesDifferent] shairport-sync-4.3.7/mqtt.h:8:38: note: Function 'mqtt_publish' argument 2 names different: declaration 'data' definition 'data_in'. shairport-sync-4.3.7/mqtt.c:225:38: note: Function 'mqtt_publish' argument 2 names different: declaration 'data' definition 'data_in'. shairport-sync-4.3.7/mqtt.c:225:56: style:inconclusive: Function 'mqtt_publish' argument 3 names different: declaration 'length' definition 'length_in'. [funcArgNamesDifferent] shairport-sync-4.3.7/mqtt.h:8:53: note: Function 'mqtt_publish' argument 3 names different: declaration 'length' definition 'length_in'. shairport-sync-4.3.7/mqtt.c:225:56: note: Function 'mqtt_publish' argument 3 names different: declaration 'length' definition 'length_in'. shairport-sync-4.3.7/mqtt.c:116:10: style: Local variable 'topic' shadows outer variable [shadowVariable] shairport-sync-4.3.7/mqtt.c:21:7: note: Shadowed declaration shairport-sync-4.3.7/mqtt.c:116:10: note: Shadow variable shairport-sync-4.3.7/mqtt.c:261:10: style: Local variable 'topic' shadows outer variable [shadowVariable] shairport-sync-4.3.7/mqtt.c:21:7: note: Shadowed declaration shairport-sync-4.3.7/mqtt.c:261:10: note: Shadow variable shairport-sync-4.3.7/mqtt.c:76: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-4.3.7/mqtt.c:417:50: note: You might need to cast the function pointer here shairport-sync-4.3.7/mqtt.c:76:62: note: Parameter 'mosq' can be declared as pointer to const shairport-sync-4.3.7/mqtt.c:77: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-4.3.7/mqtt.c:417:50: note: You might need to cast the function pointer here shairport-sync-4.3.7/mqtt.c:77:50: note: Parameter 'userdata' can be declared as pointer to const shairport-sync-4.3.7/mqtt.c:225:25: style: Parameter 'topic' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:110:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in_addr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:145:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:300:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EV_WRITE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:357:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:440:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:463:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EV_TIMEOUT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:504:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:539:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:591:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EV_TIMEOUT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:675:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:793:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EV_TIMEOUT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:876:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:898:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:914:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:931:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:971:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:987:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable evkeyval [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1046:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable evkeyvalq [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1127:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1145:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1163:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1186:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1231:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1342:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_storage [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1395:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1432:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1481:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1525:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1595:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1675:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1787:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair.c:198:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair.c:222:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair.c:95:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/pair.c:115:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/pair.c:140:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/pair.c:160:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/pair.c:179:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] shairport-sync-4.3.7/pair_ap/pair.c:210:23: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/pair_ap/pair.c:208:15: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair.c:208:15: note: Assignment 'bin=calloc(1,nbytes)', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair.c:210:23: note: Null pointer addition shairport-sync-4.3.7/pair_ap/pair.c:228:14: error:inconclusive: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/pair_ap/pair.c:225:32: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair.c:225:32: note: Assignment 'bin=malloc(nbytes)', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair.c:228:14: note: Null pointer addition shairport-sync-4.3.7/pair_ap/pair.c:561:73: style:inconclusive: Function 'pair_verify' argument 3 names different: declaration 'sctx' definition 'vctx'. [funcArgNamesDifferent] shairport-sync-4.3.7/pair_ap/pair.h:177:73: note: Function 'pair_verify' argument 3 names different: declaration 'sctx' definition 'vctx'. shairport-sync-4.3.7/pair_ap/pair.c:561:73: note: Function 'pair_verify' argument 3 names different: declaration 'sctx' definition 'vctx'. shairport-sync-4.3.7/pair_ap/pair.c:72:39: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:98:41: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:118:40: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:118:58: style: Parameter 'md' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:143:74: style: Parameter 'md' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:347:46: style: Parameter 'sctx' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:555:48: style: Parameter 'vctx' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair.c:711:48: style: Parameter 'cctx' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:109:30: style: Obsolescent function 'gethostbyaddr' called. It is recommended to use 'getnameinfo' instead. [prohibitedgethostbyaddrCalled] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:141:8: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:88:29: style: Variable 'sin' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:308:44: style: Parameter 'evcon' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1075:9: style: Variable 'skey' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1115:20: style: Variable 'headers' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1593:43: style: Parameter 'req' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1631:33: style: Parameter 'sa' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/evrtsp/rtsp.c:1666:45: style: Parameter 'ai' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:145:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_fruit.c:181:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_fruit.c:695:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_fruit.c:942:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_scalarmult_BYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/server-example.c:600:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BEV_EVENT_ERROR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/server-example.c:616:64: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BEV_OPT_CLOSE_ON_FREE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/server-example.c:644:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SOCK_STREAM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/server-example.c:211:12: warning: If memory allocation fails, then there is a possible null pointer dereference: pairing [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/server-example.c:210:19: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/server-example.c:210:19: note: Assignment 'pairing=calloc(1,sizeof(struct pairings))', assigned value is 0 shairport-sync-4.3.7/pair_ap/server-example.c:211:12: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/server-example.c:212:10: warning: If memory allocation fails, then there is a possible null pointer dereference: pairing [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/server-example.c:210:19: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/server-example.c:210:19: note: Assignment 'pairing=calloc(1,sizeof(struct pairings))', assigned value is 0 shairport-sync-4.3.7/pair_ap/server-example.c:212:10: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/server-example.c:214:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pairing [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/server-example.c:210:19: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/server-example.c:210:19: note: Assignment 'pairing=calloc(1,sizeof(struct pairings))', assigned value is 0 shairport-sync-4.3.7/pair_ap/server-example.c:214:3: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/server-example.c:620:3: warning: If memory allocation fails, then there is a possible null pointer dereference: conn_ctx [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/server-example.c:619:20: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/server-example.c:619:20: note: Assignment 'conn_ctx=calloc(1,sizeof(struct connection_ctx))', assigned value is 0 shairport-sync-4.3.7/pair_ap/server-example.c:620:3: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/server-example.c:132:50: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:153:12: style: Variable 'in' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/server-example.c:197:24: style: Parameter 'public_key' can be declared as const array. However it seems that 'pairing_add_cb' is a callback function, if 'public_key' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/pair_ap/server-example.c:375:55: note: You might need to cast the function pointer here shairport-sync-4.3.7/pair_ap/server-example.c:197:24: note: Parameter 'public_key' can be declared as const array shairport-sync-4.3.7/pair_ap/server-example.c:266:20: style: Variable 'pairing' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/server-example.c:283:93: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:293:94: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:331:95: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:369:92: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:389:95: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:409:93: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:429:91: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/server-example.c:495:9: style: Variable 'line' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/server-example.c:629:36: style: Parameter 'listener' can be declared as pointer to const. However it seems that 'in_error_cb' is a callback function, if 'listener' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/pair_ap/server-example.c:688:47: note: You might need to cast the function pointer here shairport-sync-4.3.7/pair_ap/server-example.c:629:36: note: Parameter 'listener' can be declared as pointer to const shairport-sync-4.3.7/pair_ap/server-example.c:629:52: style: Parameter 'ctx' can be declared as pointer to const. However it seems that 'in_error_cb' is a callback function, if 'ctx' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/pair_ap/server-example.c:688:47: note: You might need to cast the function pointer here shairport-sync-4.3.7/pair_ap/server-example.c:629:52: note: Parameter 'ctx' can be declared as pointer to const shairport-sync-4.3.7/pair_ap/pair_homekit.c:272:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:288:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1099:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_BYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1128:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_BYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1481:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1607:95: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1899:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_BYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1956:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_SEEDBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2105:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SHA512_DIGEST_LENGTH [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2221:95: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2515:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2749:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2827:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:3092:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_SECRETKEYBYTES [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/pair_ap/pair_fruit.c:507:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/pair_fruit.c:590:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] shairport-sync-4.3.7/pair_ap/pair_fruit.c:123:15: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_fruit.c:123:15: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_fruit.c:124:15: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_fruit.c:124:15: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_fruit.c:126:3: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_fruit.c:126:3: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_fruit.c:126:30: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_fruit.c:126:30: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_fruit.c:301:43: style: Parameter 'usr' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:307:42: style: Parameter 'usr' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:414:28: style: Parameter 'ciphertext' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:414:75: style: Parameter 'tag' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:414:95: style: Parameter 'plaintext' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:414:140: style: Parameter 'key' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:414:160: style: Parameter 'iv' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:510:28: style: Parameter 'ciphertext' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:511:28: style: Parameter 'plaintext1' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:511:75: style: Parameter 'plaintext2' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:512:28: style: Parameter 'key' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:512:48: style: Parameter 'iv' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:854:37: style: Variable 'sctx' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:1029:38: style: Variable 'vctx' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_fruit.c:199:27: warning: Uninitialized variable: H_xor [uninitvar] shairport-sync-4.3.7/pair_ap/pair_fruit.c:194:15: note: Assuming condition is false shairport-sync-4.3.7/pair_ap/pair_fruit.c:199:27: note: Uninitialized variable: H_xor shairport-sync-4.3.7/ptp-utilities.c:165:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIuPTR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/ptp-utilities.c:231:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNSPEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/ptp-utilities.c:86:9: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/ptp-utilities.c:252:16: warning: Either the condition '(s=socket(info->ai_family,info->ai_socktype,0))<0' is redundant or sendto() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] shairport-sync-4.3.7/ptp-utilities.c:247:61: note: Assuming that condition '(s=socket(info->ai_family,info->ai_socktype,0))<0' is not redundant shairport-sync-4.3.7/ptp-utilities.c:252:16: note: Invalid argument shairport-sync-4.3.7/pair_ap/pair_homekit.c:1236:28: style: Condition '*(char*)&endian_test!=1' is always false [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1228:21: note: Assignment 'endian_test=1', assigned value is 1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1236:28: note: Condition '*(char*)&endian_test!=1' is always false shairport-sync-4.3.7/pair_ap/pair_homekit.c:1350:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1349:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1349:28: note: Assignment 'ret=hkdf_extract_expand(device_x,sizeof(device_x),session_key,session_key_len,PAIR_SETUP_CONTROLLER_SIGN)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1350:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1364:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1363:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1363:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),session_key,session_key_len,PAIR_SETUP_MSG05)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1364:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1389:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1388:23: note: Calling function 'encrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1388:23: note: Assignment 'ret=encrypt_chacha(encrypted_data,data,data_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1389:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1564:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1563:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1563:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),session_key,session_key_len,PAIR_SETUP_MSG06)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1564:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1584:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1583:23: note: Calling function 'decrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1583:23: note: Assignment 'ret=decrypt_chacha(decrypted_data,encrypted_data->value,encrypted_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1584:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1598:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1597:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1597:28: note: Assignment 'ret=hkdf_extract_expand(device_x,sizeof(device_x),session_key,session_key_len,PAIR_SETUP_ACCESSORY_SIGN)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1598:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1775:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1774:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1774:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),vctx->shared_secret,sizeof(vctx->shared_secret),PAIR_VERIFY_MSG03)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1775:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1787:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1786:23: note: Calling function 'encrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1786:23: note: Assignment 'ret=encrypt_chacha(encrypted_data,data,data_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1787:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1864:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1863:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1863:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),vctx->shared_secret,sizeof(vctx->shared_secret),PAIR_VERIFY_MSG02)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1864:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:1884:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1883:23: note: Calling function 'decrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1883:23: note: Assignment 'ret=decrypt_chacha(decrypted_data,encrypted_data->value,encrypted_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:1884:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2176:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2175:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2175:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),session_key,session_key_len,msg_state)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2176:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2200:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2199:23: note: Calling function 'decrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2199:23: note: Assignment 'ret=decrypt_chacha(decrypted_data,encrypted_data->value,encrypted_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2200:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2213:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2212:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2212:28: note: Assignment 'ret=hkdf_extract_expand(device_x,sizeof(device_x),session_key,session_key_len,PAIR_SETUP_CONTROLLER_SIGN)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2213:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2374:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2373:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2373:28: note: Assignment 'ret=hkdf_extract_expand(device_x,sizeof(device_x),session_key,session_key_len,PAIR_SETUP_ACCESSORY_SIGN)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2374:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2398:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2397:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2397:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),session_key,session_key_len,msg_state)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2398:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2409:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2408:23: note: Calling function 'encrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2408:23: note: Assignment 'ret=encrypt_chacha(encrypted_data,data,data_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2409:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2525:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2524:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2524:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),vctx->shared_secret,sizeof(vctx->shared_secret),msg_state)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2525:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2549:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2548:23: note: Calling function 'decrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2548:23: note: Assignment 'ret=decrypt_chacha(decrypted_data,encrypted_data->value,encrypted_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2549:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2642:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2641:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2641:28: note: Assignment 'ret=hkdf_extract_expand(derived_key,sizeof(derived_key),vctx->shared_secret,sizeof(vctx->shared_secret),msg_state)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2642:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2653:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2652:23: note: Calling function 'encrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2652:23: note: Assignment 'ret=encrypt_chacha(encrypted_data,data,data_len,derived_key,sizeof(derived_key),NULL,0,tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2653:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2930:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2929:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2929:28: note: Assignment 'ret=hkdf_extract_expand(cctx->encryption_key,sizeof(cctx->encryption_key),shared_secret,shared_secret_len,write_key)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2930:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2934:11: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2933:28: note: Calling function 'hkdf_extract_expand' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2933:28: note: Assignment 'ret=hkdf_extract_expand(cctx->decryption_key,sizeof(cctx->decryption_key),shared_secret,shared_secret_len,read_key)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2934:11: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:2979:15: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2978:27: note: Calling function 'encrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2978:27: note: Assignment 'ret=encrypt_chacha(cipher_block+sizeof(block_len),plain_block,block_len,cctx->encryption_key,sizeof(cctx->encryption_key),&block_len,sizeof(block_len),tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:2979:15: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:3032:15: style: Condition 'ret<0' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/pair_ap/pair_homekit.c:3031:27: note: Calling function 'decrypt_chacha' returns -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:3031:27: note: Assignment 'ret=decrypt_chacha(plain_block,cipher_block+sizeof(block_len),block_len,cctx->decryption_key,sizeof(cctx->decryption_key),&block_len,sizeof(block_len),tag,sizeof(tag),nonce)', assigned value is -1 shairport-sync-4.3.7/pair_ap/pair_homekit.c:3032:15: note: Condition 'ret<0' is always true shairport-sync-4.3.7/pair_ap/pair_homekit.c:239:15: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_homekit.c:239:15: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_homekit.c:240:15: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_homekit.c:240:15: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_homekit.c:242:3: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_homekit.c:242:3: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_homekit.c:242:30: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_homekit.c:242:30: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_homekit.c:244:38: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_homekit.c:244:38: note: Null pointer dereference shairport-sync-4.3.7/pair_ap/pair_homekit.c:410:43: style: Parameter 'usr' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:416:42: style: Parameter 'usr' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:801:50: style: Parameter 'ver' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:882:30: style: Parameter 'okm' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:945:25: style: Parameter 'cipher' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:945:149: style: Parameter 'tag' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1013:25: style: Parameter 'plain' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1013:150: style: Parameter 'tag' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1079:55: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1079:81: style: Parameter 'b' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1079:107: style: Parameter 'c' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1426:15: style: Variable 'pk' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1427:15: style: Variable 'salt' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1470:15: style: Variable 'proof' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1529:15: style: Variable 'encrypted_data' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1824:15: style: Variable 'encrypted_data' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1825:15: style: Variable 'public_key' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:1929:38: style: Variable 'vctx' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2041:15: style: Variable 'method' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2089:15: style: Variable 'pk' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2090:15: style: Variable 'proof' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2149:15: style: Variable 'encrypted_data' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2250:37: style: Variable 'sctx' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2476:15: style: Variable 'pk' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2506:15: style: Variable 'encrypted_data' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2687:38: style: Variable 'vctx' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2730:15: style: Variable 'device_id' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2815:24: style: Parameter 'public_key' can be declared as const array. However it seems that 'server_list_cb' is a callback function, if 'public_key' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/pair_ap/pair_homekit.c:2848:6: note: You might need to cast the function pointer here shairport-sync-4.3.7/pair_ap/pair_homekit.c:2815:24: note: Parameter 'public_key' can be declared as const array shairport-sync-4.3.7/pair_ap/pair_homekit.c:2818:15: style: Variable 'previous_id' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/pair_ap/pair_homekit.c:306:27: warning: Uninitialized variable: H_xor [uninitvar] shairport-sync-4.3.7/pair_ap/pair_homekit.c:301:15: note: Assuming condition is false shairport-sync-4.3.7/pair_ap/pair_homekit.c:306:27: note: Uninitialized variable: H_xor shairport-sync-4.3.7/player.c:416:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/player.c:432:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/player.c:1214:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/player.c:1789:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/player.c:2046:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/player.c:3640:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/player.c:3666:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:83:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIx64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:114:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIx32 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:300:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:404:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu32 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:623:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:686:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:822:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:1019:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtp.c:1224:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:262:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:1170:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:1231:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:1307:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:1546:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:4875:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:5084:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:5234:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIxPTR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:5419:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:5436:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CANCEL_DISABLE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/rtsp.c:603:5: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/rtsp.c:5366:13: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/rtsp.c:603:12: error: Invalid usleep() argument nr 1. The value is 1000000 but the valid values are '0:999999'. [invalidFunctionArg] shairport-sync-4.3.7/rtsp.c:4879: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-4.3.7/rtsp.c:4876:10: note: Assuming that condition 'fd<0' is not redundant shairport-sync-4.3.7/rtsp.c:4879:12: note: Invalid argument shairport-sync-4.3.7/rtsp.c:592:14: style: Condition 'conn!=NULL' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/rtsp.c:1506:9: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] shairport-sync-4.3.7/rtsp.c:630:5: error: Common realloc mistake: 'conns' nulled but not freed upon failure [memleakOnRealloc] shairport-sync-4.3.7/rtsp.c:1364:5: error: Common realloc mistake: 'buf' nulled but not freed upon failure [memleakOnRealloc] shairport-sync-4.3.7/rtsp.c:5514:9: error: Common realloc mistake: 'sockfd' nulled but not freed upon failure [memleakOnRealloc] shairport-sync-4.3.7/rtsp.c:751:38: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: value [nullPointerOutOfMemory] shairport-sync-4.3.7/rtsp.c:5073:25: note: Assuming allocation function fails shairport-sync-4.3.7/rtsp.c:5073:25: note: Assignment 'authhdr=malloc(hdrlen)', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5075:44: note: Calling function 'msg_add_header', 3rd argument 'authhdr' value is 0 shairport-sync-4.3.7/rtsp.c:745:21: note: Assuming condition is false shairport-sync-4.3.7/rtsp.c:751:38: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:1592:3: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:1593:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:1592:3: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:1637:5: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:1593:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:1637:5: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:2826:3: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:2843:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:2826:3: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:2855:5: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:2843:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:2855:5: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:3470:3: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:3473:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:3470:3: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:3580:5: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:3473:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:3580:5: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:3589:5: warning: Either the condition 'conn!=NULL' is redundant or there is possible null pointer dereference: conn. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:3473:13: note: Assuming that condition 'conn!=NULL' is not redundant shairport-sync-4.3.7/rtsp.c:3589:5: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:4864:26: warning: Either the condition 'encoded==NULL' is redundant or there is possible null pointer dereference: encoded. [nullPointerRedundantCheck] shairport-sync-4.3.7/rtsp.c:4861:15: note: Assuming that condition 'encoded==NULL' is not redundant shairport-sync-4.3.7/rtsp.c:4864:26: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5074:12: warning: If memory allocation fails, then there is a possible null pointer dereference: authhdr [nullPointerOutOfMemory] shairport-sync-4.3.7/rtsp.c:5073:25: note: Assuming allocation function fails shairport-sync-4.3.7/rtsp.c:5073:25: note: Assignment 'authhdr=malloc(hdrlen)', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5074:12: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5591:14: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: conn [nullPointerOutOfMemory] shairport-sync-4.3.7/rtsp.c:5587:36: note: Assuming allocation function fails shairport-sync-4.3.7/rtsp.c:5587:36: note: Assignment 'conn=malloc(sizeof(struct rtsp_conn_info))', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5591:14: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5592:7: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: conn [nullPointerOutOfMemory] shairport-sync-4.3.7/rtsp.c:5587:36: note: Assuming allocation function fails shairport-sync-4.3.7/rtsp.c:5587:36: note: Assignment 'conn=malloc(sizeof(struct rtsp_conn_info))', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5592:7: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5600:7: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: conn [nullPointerOutOfMemory] shairport-sync-4.3.7/rtsp.c:5587:36: note: Assuming allocation function fails shairport-sync-4.3.7/rtsp.c:5587:36: note: Assignment 'conn=malloc(sizeof(struct rtsp_conn_info))', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5600:7: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5601:11: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: conn [nullPointerOutOfMemory] shairport-sync-4.3.7/rtsp.c:5587:36: note: Assuming allocation function fails shairport-sync-4.3.7/rtsp.c:5587:36: note: Assignment 'conn=malloc(sizeof(struct rtsp_conn_info))', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5601:11: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5689:49: warning: Possible null pointer dereference: client_addr [nullPointer] shairport-sync-4.3.7/rtsp.c:5664:31: note: Assignment 'client_addr=NULL', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5679:42: note: Assuming condition is false shairport-sync-4.3.7/rtsp.c:5689:49: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:5691:49: warning: Possible null pointer dereference: self_addr [nullPointer] shairport-sync-4.3.7/rtsp.c:5664:50: note: Assignment 'self_addr=NULL', assigned value is 0 shairport-sync-4.3.7/rtsp.c:5679:42: note: Assuming condition is false shairport-sync-4.3.7/rtsp.c:5691:49: note: Null pointer dereference shairport-sync-4.3.7/rtsp.c:4580:23: warning: Either the condition 'cp' is redundant or there is overflow in pointer subtraction. [nullPointerArithmeticRedundantCheck] shairport-sync-4.3.7/rtsp.c:4578:23: note: Assuming that condition 'cp' is not redundant shairport-sync-4.3.7/rtsp.c:4606:12: note: Assignment to 'cp=next' shairport-sync-4.3.7/rtsp.c:4580:23: note: Null pointer subtraction shairport-sync-4.3.7/rtsp.c:1439:3: style: Variable '*the_packet' is assigned an expression that holds the same value. [redundantAssignment] shairport-sync-4.3.7/rtsp.c:1434:21: note: msg is assigned '*the_packet' here. shairport-sync-4.3.7/rtsp.c:1439:3: note: Variable '*the_packet' is assigned an expression that holds the same value. shairport-sync-4.3.7/rtsp.c:4759:13: style: Local variable 'cp' shadows outer variable [shadowVariable] shairport-sync-4.3.7/rtsp.c:4575:11: note: Shadowed declaration shairport-sync-4.3.7/rtsp.c:4759:13: note: Shadow variable shairport-sync-4.3.7/rtsp.c:4760:11: style: Local variable 'cp_left' shadows outer variable [shadowVariable] shairport-sync-4.3.7/rtsp.c:4576:9: note: Shadowed declaration shairport-sync-4.3.7/rtsp.c:4760:11: note: Shadow variable shairport-sync-4.3.7/rtsp.c:5373:17: style: Local variable 'reply' shadows outer variable [shadowVariable] shairport-sync-4.3.7/rtsp.c:5216:35: note: Shadowed declaration shairport-sync-4.3.7/rtsp.c:5373:17: note: Shadow variable shairport-sync-4.3.7/rtsp.c:744:45: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtsp.c:744:57: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtsp.c:757:47: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtsp.c:842:16: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:879:11: style: Variable 'cl' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:1004:91: style: Parameter 'prompt' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtsp.c:1452:40: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtsp.c:1618:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:2827:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:3515:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4567:11: style: Variable 'pssid' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4571:11: style: Variable 'pminlatency' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4572:11: style: Variable 'pmaxlatency' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4574:11: style: Variable 'pUncompressedCDAudio' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4707:13: style: Variable 'found' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4741:15: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4846:25: style: Variable 'sa' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4898:9: style: Variable 'realm' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4899:9: style: Variable 'username' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4900:9: style: Variable 'response' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4901:9: style: Variable 'uri' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:4924:11: style: Variable 'digest_urp' can be declared as const array [constVariable] shairport-sync-4.3.7/rtsp.c:4924:42: style: Variable 'digest_total' can be declared as const array [constVariable] shairport-sync-4.3.7/rtsp.c:5300:19: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:5372:15: style: Variable 'response_text' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:5664:17: style: Variable 'client_addr' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:5664:38: style: Variable 'self_addr' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtsp.c:5006:46: error: Uninitialized variable: digest_urp [uninitvar] shairport-sync-4.3.7/rtsp.c:5064:46: error: Uninitialized variable: digest_total [uninitvar] shairport-sync-4.3.7/rtsp.c:5006:56: error: Uninitialized variable: digest_urp[i] [legacyUninitvar] shairport-sync-4.3.7/rtsp.c:5064:58: error: Uninitialized variable: digest_total[i] [legacyUninitvar] shairport-sync-4.3.7/rtsp.c:1619:22: style: Variable 'rtptime' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/rtsp.c:4924:27: style: Unused variable: digest_mu [unusedVariable] shairport-sync-4.3.7/shairport-sync-dbus-test-client.c:103:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/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-4.3.7/shairport-sync-dbus-test-client.c:184:3: note: You might need to cast the function pointer here shairport-sync-4.3.7/shairport-sync-dbus-test-client.c:35:81: note: Parameter 'user_data' can be declared as pointer to const shairport-sync-4.3.7/shairport-sync-mpris-test-client.c:78:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_BUS_TYPE_SYSTEM [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/shairport.c:352:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POPT_ARG_NONE [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/shairport.c:1745:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/shairport.c:1862:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/shairport.c:1961:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/shairport.c:1854:14: warning:inconclusive: If resource allocation fails, then there is a possible null pointer dereference: cw [nullPointerOutOfResources] shairport-sync-4.3.7/shairport.c:1848:18: note: Assuming allocation function fails shairport-sync-4.3.7/shairport.c:1848:18: note: Assignment 'cw=fdopen(configpipe[1],"w")', assigned value is 0 shairport-sync-4.3.7/shairport.c:1854:14: note: Null pointer dereference shairport-sync-4.3.7/shairport.c:1861:20: warning: If resource allocation fails, then there is a possible null pointer dereference: cr [nullPointerOutOfResources] shairport-sync-4.3.7/shairport.c:1857:18: note: Assuming allocation function fails shairport-sync-4.3.7/shairport.c:1857:18: note: Assignment 'cr=fdopen(configpipe[0],"r")', assigned value is 0 shairport-sync-4.3.7/shairport.c:1861:20: note: Null pointer dereference shairport-sync-4.3.7/shairport.c:1869:14: warning: If resource allocation fails, then there is a possible null pointer dereference: cr [nullPointerOutOfResources] shairport-sync-4.3.7/shairport.c:1857:18: note: Assuming allocation function fails shairport-sync-4.3.7/shairport.c:1857:18: note: Assignment 'cr=fdopen(configpipe[0],"r")', assigned value is 0 shairport-sync-4.3.7/shairport.c:1869:14: note: Null pointer dereference shairport-sync-4.3.7/shairport.c:265:18: style: Parameter 'progname' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/shairport.c:1902:15: style: Variable 'p' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/shairport.c:2578:11: style: Variable 'ap_md5' can be declared as const array [constVariable] shairport-sync-4.3.7/shairport.c:2616:29: error: Uninitialized variable: ap_md5 [uninitvar] shairport-sync-4.3.7/rtp.c:644:9: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/rtp.c:646:9: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/rtp.c:648:7: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] shairport-sync-4.3.7/rtp.c:646:16: error: Invalid usleep() argument nr 1. The value is 3000000 but the valid values are '0:999999'. [invalidFunctionArg] shairport-sync-4.3.7/rtp.c:430:49: style: Redundant condition: The condition 'conn->AirPlayVersion >= 371' is redundant since 'conn->AirPlayVersion > 0' is sufficient. [redundantCondition] shairport-sync-4.3.7/rtp.c:733:25: style: Condition 'dispersion_factor==0' is always false [knownConditionTrueFalse] shairport-sync-4.3.7/rtp.c:729:45: note: Assignment 'diffusion_expansion_factor=10', assigned value is 10 shairport-sync-4.3.7/rtp.c:730:64: note: Assignment 'log_of_multiplier=log10(diffusion_expansion_factor)/(1<<7)', assigned value is 0.0078125 shairport-sync-4.3.7/rtp.c:731:26: note: Assignment 'multiplier=pow(10,log_of_multiplier)', assigned value is 1.01815172172 shairport-sync-4.3.7/rtp.c:732:32: note: Assignment 'dispersion_factor=(uint64_t)(multiplier*100)', assigned value is 101 shairport-sync-4.3.7/rtp.c:733:25: note: Condition 'dispersion_factor==0' is always false shairport-sync-4.3.7/rtp.c:1028:43: warning: Possible null pointer dereference: client_addr [nullPointer] shairport-sync-4.3.7/rtp.c:1000:25: note: Assignment 'client_addr=NULL', assigned value is 0 shairport-sync-4.3.7/rtp.c:1019:36: note: Assuming condition is false shairport-sync-4.3.7/rtp.c:1028:43: note: Null pointer dereference shairport-sync-4.3.7/rtp.c:1030:43: warning: Possible null pointer dereference: self_addr [nullPointer] shairport-sync-4.3.7/rtp.c:1000:44: note: Assignment 'self_addr=NULL', assigned value is 0 shairport-sync-4.3.7/rtp.c:1019:36: note: Assuming condition is false shairport-sync-4.3.7/rtp.c:1030:43: note: Null pointer dereference shairport-sync-4.3.7/rtp.c:169:12: style: Redundant initialization for 'result'. The initialized value is overwritten before it is read. [redundantInitialization] shairport-sync-4.3.7/rtp.c:167:19: note: result is initialized shairport-sync-4.3.7/rtp.c:169:12: note: result is overwritten shairport-sync-4.3.7/rtp.c:985:60: style:inconclusive: Function 'rtp_setup' argument 3 names different: declaration 'controlport' definition 'cport'. [funcArgNamesDifferent] shairport-sync-4.3.7/rtp.h:15:60: note: Function 'rtp_setup' argument 3 names different: declaration 'controlport' definition 'cport'. shairport-sync-4.3.7/rtp.c:985:60: note: Function 'rtp_setup' argument 3 names different: declaration 'controlport' definition 'cport'. shairport-sync-4.3.7/rtp.c:985:76: style:inconclusive: Function 'rtp_setup' argument 4 names different: declaration 'timingport' definition 'tport'. [funcArgNamesDifferent] shairport-sync-4.3.7/rtp.h:15:82: note: Function 'rtp_setup' argument 4 names different: declaration 'timingport' definition 'tport'. shairport-sync-4.3.7/rtp.c:985:76: note: Function 'rtp_setup' argument 4 names different: declaration 'timingport' definition 'tport'. shairport-sync-4.3.7/rtp.c:160:62: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtp.c:180: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-4.3.7/rtp.c:186:24: note: You might need to cast the function pointer here shairport-sync-4.3.7/rtp.c:180:71: note: Parameter 'arg' can be declared as pointer to const shairport-sync-4.3.7/rtp.c:316: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-4.3.7/rtp.c:322:24: note: You might need to cast the function pointer here shairport-sync-4.3.7/rtp.c:316:72: note: Parameter 'arg' can be declared as pointer to const shairport-sync-4.3.7/rtp.c:1000:11: style: Variable 'client_addr' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtp.c:1000:32: style: Variable 'self_addr' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/rtp.c:1109:49: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/rtp.c:68:7: style: struct member 'buffered_tcp_desc::closed' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:69:7: style: struct member 'buffered_tcp_desc::error_code' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:70:7: style: struct member 'buffered_tcp_desc::sock_fd' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:71:9: style: struct member 'buffered_tcp_desc::buffer' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:72:9: style: struct member 'buffered_tcp_desc::toq' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:73:9: style: struct member 'buffered_tcp_desc::eoq' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:74:10: style: struct member 'buffered_tcp_desc::buffer_max_size' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:75:10: style: struct member 'buffered_tcp_desc::buffer_occupancy' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:76:19: style: struct member 'buffered_tcp_desc::mutex' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:77:18: style: struct member 'buffered_tcp_desc::not_empty_cv' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:78:18: style: struct member 'buffered_tcp_desc::not_full_cv' is never used. [unusedStructMember] shairport-sync-4.3.7/rtp.c:600:14: style: Variable 'req.filler' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/tinyhttp/example.cpp:64:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinyhttp/example.cpp:136:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinyhttp/http.c:199:22: style: Same expression on both sides of '-='. [duplicateExpression] shairport-sync-4.3.7/tinyhttp/http.c:224:44: style: Parameter 'rt' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/tinyhttp/http.c:51:18: style: C-style pointer casting [cstyleCast] shairport-sync-4.3.7/tinyhttp/example.cpp:71:36: style: C-style pointer casting [cstyleCast] shairport-sync-4.3.7/tinyhttp/example.cpp:85:20: style: C-style pointer casting [cstyleCast] shairport-sync-4.3.7/tinyhttp/example.cpp:111:30: style: C-style pointer casting [cstyleCast] shairport-sync-4.3.7/tinyhttp/example.cpp:120:30: style: C-style pointer casting [cstyleCast] shairport-sync-4.3.7/tinyhttp/example.cpp:67:20: style: Variable 'ai' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/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-4.3.7/tinyhttp/example.cpp:127:5: note: You might need to cast the function pointer here shairport-sync-4.3.7/tinyhttp/example.cpp:115:35: note: Parameter 'opaque' can be declared as pointer to const shairport-sync-4.3.7/tinysvcmdns.c:456:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_A [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:468:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_AAAA [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:480:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_SRV [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:492:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_PTR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:512:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:520:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_TXT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:593:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_PTR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:777:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in6_addr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:992:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in6_addr [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1176:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1226:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1254:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1275:93: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_ANY [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1303:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_PTR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1497:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1586:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1606:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_NSEC [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1645:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RR_TXT [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:1710:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] shairport-sync-4.3.7/tinysvcmdns.c:354:14: error: Deallocation of an auto-variable (.) results in undefined behaviour. [autovarInvalidDeallocation] shairport-sync-4.3.7/tinysvcmdns.c:346:15: note: Address of variable taken here. shairport-sync-4.3.7/tinysvcmdns.c:354:14: note: Deallocating memory that was not dynamically allocated shairport-sync-4.3.7/tinysvcmdns.c:1748:23: style: Condition 's->stop_flag!=2' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/tinysvcmdns.c:1745:18: note: Assignment 's->stop_flag=1', assigned value is 1 shairport-sync-4.3.7/tinysvcmdns.c:1748:23: note: Condition 's->stop_flag!=2' is always true shairport-sync-4.3.7/tinysvcmdns.c:102:3: warning: If memory allocation fails, then there is a possible null pointer dereference: newlabel [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:97:29: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:97:29: note: Assignment 'newlabel=malloc(len+1)', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:102:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:538:3: warning: If memory allocation fails, then there is a possible null pointer dereference: txt_rec [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:535:25: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:535:25: note: Assignment 'txt_rec->next=malloc(sizeof(struct rr_data_txt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:537:20: note: Assignment 'txt_rec=txt_rec->next', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:538:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:539:3: warning: If memory allocation fails, then there is a possible null pointer dereference: txt_rec [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:535:25: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:535:25: note: Assignment 'txt_rec->next=malloc(sizeof(struct rr_data_txt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:537:20: note: Assignment 'txt_rec=txt_rec->next', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:539:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:810:7: warning: If memory allocation fails, then there is a possible null pointer dereference: txt_rec [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assignment 'txt_rec->next=malloc(sizeof(struct rr_data_txt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:823:24: note: Assignment 'txt_rec=txt_rec->next', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:810:7: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:811:11: warning: If memory allocation fails, then there is a possible null pointer dereference: txt_rec [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assignment 'txt_rec->next=malloc(sizeof(struct rr_data_txt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:823:24: note: Assignment 'txt_rec=txt_rec->next', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:811:11: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:816:12: warning: If memory allocation fails, then there is a possible null pointer dereference: txt_rec [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assignment 'txt_rec->next=malloc(sizeof(struct rr_data_txt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:823:24: note: Assignment 'txt_rec=txt_rec->next', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:811:24: note: Assuming condition is false shairport-sync-4.3.7/tinysvcmdns.c:816:12: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:824:7: warning: If memory allocation fails, then there is a possible null pointer dereference: txt_rec [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:822:29: note: Assignment 'txt_rec->next=malloc(sizeof(struct rr_data_txt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:823:24: note: Assignment 'txt_rec=txt_rec->next', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:824:7: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:864:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:864:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:866:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:866:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:868:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:868:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:870:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:870:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:872:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:872:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:874:3: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:874:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:880:19: warning: If memory allocation fails, then there is a possible null pointer dereference: pkt [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:858:3: note: Assignment 'pkt=malloc(sizeof(struct mdns_pkt))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:880:19: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:936:7: warning: If memory allocation fails, then there is a possible null pointer dereference: new_c [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:934:7: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:934:7: note: Assignment 'new_c=malloc(sizeof(struct name_comp))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:936:7: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:937:7: warning: If memory allocation fails, then there is a possible null pointer dereference: new_c [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:934:7: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:934:7: note: Assignment 'new_c=malloc(sizeof(struct name_comp))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:937:7: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:1709:19: warning: If memory allocation fails, then there is a possible null pointer dereference: server [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:1703:32: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:1703:32: note: Assignment 'server=malloc(sizeof(struct mdnsd))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:1709:19: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:1715:3: warning: If memory allocation fails, then there is a possible null pointer dereference: server [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:1703:32: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:1703:32: note: Assignment 'server=malloc(sizeof(struct mdnsd))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:1709:40: note: Assuming condition is false shairport-sync-4.3.7/tinysvcmdns.c:1715:3: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:1716:7: warning: If memory allocation fails, then there is a possible null pointer dereference: server [nullPointerOutOfMemory] shairport-sync-4.3.7/tinysvcmdns.c:1703:32: note: Assuming allocation function fails shairport-sync-4.3.7/tinysvcmdns.c:1703:32: note: Assignment 'server=malloc(sizeof(struct mdnsd))', assigned value is 0 shairport-sync-4.3.7/tinysvcmdns.c:1709:40: note: Assuming condition is false shairport-sync-4.3.7/tinysvcmdns.c:1716:7: note: Null pointer dereference shairport-sync-4.3.7/tinysvcmdns.c:458:13: style: Variable 'rr->ttl' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-4.3.7/tinysvcmdns.c:456:5: note: rr->ttl is assigned shairport-sync-4.3.7/tinysvcmdns.c:458:13: note: rr->ttl is overwritten shairport-sync-4.3.7/tinysvcmdns.c:470:13: style: Variable 'rr->ttl' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-4.3.7/tinysvcmdns.c:468:5: note: rr->ttl is assigned shairport-sync-4.3.7/tinysvcmdns.c:470:13: note: rr->ttl is overwritten shairport-sync-4.3.7/tinysvcmdns.c:493:21: style: Variable 'rr->cache_flush' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-4.3.7/tinysvcmdns.c:492:5: note: rr->cache_flush is assigned shairport-sync-4.3.7/tinysvcmdns.c:493:21: note: rr->cache_flush is overwritten shairport-sync-4.3.7/tinysvcmdns.c:170:12: style: Variable 'e' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/tinysvcmdns.c:248:37: style: Parameter 'pkt_buf' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/tinysvcmdns.c:267:12: style: Variable 'e' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/tinysvcmdns.c:570:61: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/tinysvcmdns.c:578:66: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/tinysvcmdns.c:589:75: style: Parameter 'entry' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/tinysvcmdns.c:957:32: style: Variable 'p_data' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/tinysvcmdns.c:960:12: style: Variable 'label' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/tinysvcmdns.c:1356:24: style: Variable 'known_ans' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/tinysvcmdns.c:1452:29: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/player.c:3046:21: style: Condition 'do_loudness' is always true [knownConditionTrueFalse] shairport-sync-4.3.7/player.c:3638:29: warning: If memory allocation fails, then there is a possible null pointer dereference: pt [nullPointerOutOfMemory] shairport-sync-4.3.7/player.c:3635:27: note: Assuming allocation function fails shairport-sync-4.3.7/player.c:3635:27: note: Assignment 'pt=malloc(sizeof(pthread_t))', assigned value is 0 shairport-sync-4.3.7/player.c:3638:29: note: Null pointer dereference shairport-sync-4.3.7/player.c:2012:27: style: Redundant initialization for 'output_rtptime_mask_not'. The initialized value is overwritten before it is read. [redundantInitialization] shairport-sync-4.3.7/player.c:2011:35: note: output_rtptime_mask_not is initialized shairport-sync-4.3.7/player.c:2012:27: note: output_rtptime_mask_not is overwritten shairport-sync-4.3.7/player.c:2681:31: style: Variable 'current_delay' is reassigned a value before the old one has been used. [redundantAssignment] shairport-sync-4.3.7/player.c:2679:29: note: current_delay is assigned shairport-sync-4.3.7/player.c:2681:31: note: current_delay is overwritten shairport-sync-4.3.7/player.c:281:16: warning: Either the condition 'conn->input_bytes_per_frame!=0' is redundant or there is division by zero at line 281. [zerodivcond] shairport-sync-4.3.7/player.c:277:35: note: Assuming that condition 'conn->input_bytes_per_frame!=0' is not redundant shairport-sync-4.3.7/player.c:281:16: note: Division by zero shairport-sync-4.3.7/player.c:1449:22: warning: Either the condition 'conn->input_rate==0' is redundant or there is division by zero at line 1449. [zerodivcond] shairport-sync-4.3.7/player.c:1446:28: note: Assuming that condition 'conn->input_rate==0' is not redundant shairport-sync-4.3.7/player.c:1449:22: note: Division by zero shairport-sync-4.3.7/player.c:3330:48: style:inconclusive: Function 'player_volume_without_notification' argument 1 names different: declaration 'f' definition 'airplay_volume'. [funcArgNamesDifferent] shairport-sync-4.3.7/player.h:429:48: note: Function 'player_volume_without_notification' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-4.3.7/player.c:3330:48: note: Function 'player_volume_without_notification' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-4.3.7/player.c:3550:27: style:inconclusive: Function 'player_volume' argument 1 names different: declaration 'f' definition 'airplay_volume'. [funcArgNamesDifferent] shairport-sync-4.3.7/player.h:428:27: note: Function 'player_volume' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-4.3.7/player.c:3550:27: note: Function 'player_volume' argument 1 names different: declaration 'f' definition 'airplay_volume'. shairport-sync-4.3.7/player.c:187:12: style: Variable 'source' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/player.c:289:38: style: Parameter 'fmtp' can be declared as const array [constParameter] shairport-sync-4.3.7/player.c:976:21: style: Variable 'firstPacket' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/player.c:977:21: style: Variable 'lastPacket' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/player.c:1510:43: style: Parameter 'inptr' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/player.c:1748:41: style: Parameter 'conn' can be declared as pointer to const [constParameterPointer] shairport-sync-4.3.7/player.c:2354:22: style: Variable 'inps' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/player.c:2412:22: style: Variable 'inps' can be declared as pointer to const [constVariablePointer] shairport-sync-4.3.7/player.c:1039:43: portability: 'dest' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] shairport-sync-4.3.7/player.c:1286:28: 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-4.3.7/player.c:916:18: style: Variable 'dac_delay' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/player.c:1105:19: style: Variable 'dac_delay' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/player.c:1448:43: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/player.c:1450:34: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/player.c:1451:34: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/player.c:2530:30: style: Variable 'stats_status' is assigned a value that is never used. [unreadVariable] shairport-sync-4.3.7/player.c:2796:36: style: Variable 'final_adjustment' is assigned a value that is never used. [unreadVariable] diff: 2.17.0 shairport-sync-4.3.7/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] head shairport-sync-4.3.7/FFTConvolver/Utilities.h:154:6: performance:inconclusive: Technically the member function 'fftconvolver::Buffer < float >::allocate' can be static (but you may consider moving to unnamed namespace). [functionStatic] 2.17.0 shairport-sync-4.3.7/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] head shairport-sync-4.3.7/FFTConvolver/Utilities.h:163:8: performance:inconclusive: Technically the member function 'fftconvolver::Buffer < float >::deallocate' can be static (but you may consider moving to unnamed namespace). [functionStatic] head shairport-sync-4.3.7/activity_monitor.c:178:18: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] 2.17.0 shairport-sync-4.3.7/common.c:2116:10: error:inconclusive: If memory allocation fail: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/common.c:2110:26: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2110:26: note: Assignment 'response=malloc(nread*3+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2112:16: note: Assignment 'obfp=response', assigned value is 0 shairport-sync-4.3.7/common.c:2116:10: note: Null pointer addition head shairport-sync-4.3.7/common.c:2116:10: error:inconclusive: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/common.c:2110:26: note: Assuming allocation function fails shairport-sync-4.3.7/common.c:2110:26: note: Assignment 'response=malloc(nread*3+1)', assigned value is 0 shairport-sync-4.3.7/common.c:2112:16: note: Assignment 'obfp=response', assigned value is 0 shairport-sync-4.3.7/common.c:2116:10: note: Null pointer addition head shairport-sync-4.3.7/dacp.c:519:16: style: Variable 'time_to_wait_for_wakeup_ns' is assigned a value that is never used. [unreadVariable] head shairport-sync-4.3.7/dbus-service.c:231:15: style: Variable 'artUrl' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:240:15: style: Variable 'trackid' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:249:15: style: Variable 'songdatakind' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:255:15: style: Variable 'track_name' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:261:15: style: Variable 'album_name' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:269:15: style: Variable 'artists' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:278:15: style: Variable 'album_artists' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:287:15: style: Variable 'composers' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:296:15: style: Variable 'genre' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:306:15: style: Variable 'tracklength' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/dbus-service.c:587:33: style: Variable 'th' is assigned a value that is never used. [unreadVariable] 2.17.0 shairport-sync-4.3.7/metadata_hub.c:298:29: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] head shairport-sync-4.3.7/mpris-service.c:172:15: style: Variable 'artUrl' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:181:15: style: Variable 'trackid' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:187:15: style: Variable 'track_name' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:193:15: style: Variable 'album_name' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:201:15: style: Variable 'artists' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:210:15: style: Variable 'genre' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:220:15: style: Variable 'tracklength' can be declared as pointer to const [constVariablePointer] head shairport-sync-4.3.7/mpris-service.c:64:53: style: Parameter 'argc' can be declared as pointer to const. However it seems that 'mpris_metadata_watcher' is a callback function, if 'argc' is declared with const you might also need to cast function pointer(s). [constParameterCallback] shairport-sync-4.3.7/mpris-service.c:340:24: note: You might need to cast the function pointer here shairport-sync-4.3.7/mpris-service.c:64:53: note: Parameter 'argc' can be declared as pointer to const 2.17.0 shairport-sync-4.3.7/pair_ap/pair.c:210:23: error: If memory allocation fail: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/pair_ap/pair.c:208:15: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair.c:208:15: note: Assignment 'bin=calloc(1,nbytes)', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair.c:210:23: note: Null pointer addition head shairport-sync-4.3.7/pair_ap/pair.c:210:23: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/pair_ap/pair.c:208:15: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair.c:208:15: note: Assignment 'bin=calloc(1,nbytes)', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair.c:210:23: note: Null pointer addition 2.17.0 shairport-sync-4.3.7/pair_ap/pair.c:228:14: error:inconclusive: If memory allocation fail: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/pair_ap/pair.c:225:32: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair.c:225:32: note: Assignment 'bin=malloc(nbytes)', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair.c:228:14: note: Null pointer addition head shairport-sync-4.3.7/pair_ap/pair.c:228:14: error:inconclusive: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] shairport-sync-4.3.7/pair_ap/pair.c:225:32: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair.c:225:32: note: Assignment 'bin=malloc(nbytes)', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair.c:228:14: note: Null pointer addition head shairport-sync-4.3.7/pair_ap/pair_fruit.c:126:30: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_fruit.c:115:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_fruit.c:126:30: note: Null pointer dereference head shairport-sync-4.3.7/pair_ap/pair_homekit.c:242:30: warning: If memory allocation fails, then there is a possible null pointer dereference: ng [nullPointerOutOfMemory] shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assuming allocation function fails shairport-sync-4.3.7/pair_ap/pair_homekit.c:231:26: note: Assignment 'ng=calloc(1,sizeof(struct NGConstant))', assigned value is 0 shairport-sync-4.3.7/pair_ap/pair_homekit.c:242:30: note: Null pointer dereference head shairport-sync-4.3.7/tinyhttp/example.cpp:71:36: style: C-style pointer casting [cstyleCast] 2.17.0 shairport-sync-4.3.7/tinyhttp/example.cpp:71:37: style: C-style pointer casting [cstyleCast] head shairport-sync-4.3.7/tinyhttp/example.cpp:85:20: style: C-style pointer casting [cstyleCast] 2.17.0 shairport-sync-4.3.7/tinyhttp/example.cpp:85:21: style: C-style pointer casting [cstyleCast] DONE