live555-2024.05.05-1.fc41

List of Defects

Error: CPPCHECK_WARNING: [#def1]
live555-2024.05.05-build/live/BasicUsageEnvironment/BasicTaskScheduler.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def2]
live555-2024.05.05-build/live/BasicUsageEnvironment/BasicTaskScheduler0.cpp:187:22: warning[cplusplus.NewDelete]: Attempt to delete released memory
#  185|     // Delete each handler descriptor:
#  186|     while (fHandlers.fNextHandler != &fHandlers) {
#  187|->     delete fHandlers.fNextHandler; // changes fHandlers->fNextHandler
#  188|     }
#  189|   }

Error: CLANG_WARNING: [#def3]
live555-2024.05.05-build/live/BasicUsageEnvironment/DelayQueue.cpp:118:5: warning[cplusplus.NewDelete]: Use of memory after it is freed
#  116|     while (fNext != this) {
#  117|       DelayQueueEntry* entryToRemove = fNext;
#  118|->     removeEntry(entryToRemove);
#  119|       delete entryToRemove;
#  120|     }

Error: CPPCHECK_WARNING: [#def4]
live555-2024.05.05-build/live/groupsock/GroupsockHelper.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def5]
live555-2024.05.05-build/live/groupsock/NetAddress.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-595): [#def6]
live555-2024.05.05-build/live/groupsock/NetAddress.cpp: scope_hint: In function ‘Boolean operator==(const sockaddr_storage&, const sockaddr_storage&)’
live555-2024.05.05-build/live/groupsock/NetAddress.cpp:160:67: warning[-Warray-compare]: comparison between two arrays is deprecated in C++20
#  160 |       return ((struct sockaddr_in6 const&)left).sin6_addr.s6_addr == ((struct sockaddr_in6 const&)right).sin6_addr.s6_addr;
#      |                                                                   ^
live555-2024.05.05-build/live/groupsock/NetAddress.cpp:160:67: note: use unary ‘+’ which decays operands to pointers or ‘&(((const sockaddr_in6&)left).sockaddr_in6::sin6_addr.in6_addr::__in6_u.in6_addr::<unnamed union>::__u6_addr8)[0] == &(((const sockaddr_in6&)right).sockaddr_in6::sin6_addr.in6_addr::__in6_u.in6_addr::<unnamed union>::__u6_addr8)[0]’ to compare the addresses
#  158|       }
#  159|       case AF_INET6: {
#  160|->       return ((struct sockaddr_in6 const&)left).sin6_addr.s6_addr == ((struct sockaddr_in6 const&)right).sin6_addr.s6_addr;
#  161|       }
#  162|       default: {

Error: CPPCHECK_WARNING: [#def7]
live555-2024.05.05-build/live/hlsProxy/live555HLSProxy.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def8]
live555-2024.05.05-build/live/liveMedia/AMRAudioFileSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def9]
live555-2024.05.05-build/live/liveMedia/AMRAudioFileSource.cpp:59:7: warning[deadcode.DeadStores]: Value stored to 'bytesRead' is never read
#   57|         if (fread(&buf[bytesRead], 1, 6, fid) < 6) break;
#   58|         if (strncmp(&buf[bytesRead], "MC1.0\n", 6) != 0) break; // bad magic #
#   59|->       bytesRead += 6;
#   60|   
#   61|         // The next 4 bytes contain the number of channels:

Error: CLANG_WARNING: [#def10]
live555-2024.05.05-build/live/liveMedia/AMRAudioFileSource.cpp:70:5: warning[deadcode.DeadStores]: Value stored to 'magicNumberOK' is never read
#   68|   
#   69|       // If we get here, the magic number was OK:
#   70|->     magicNumberOK = True;
#   71|   
#   72|   #ifdef DEBUG

Error: CPPCHECK_WARNING: [#def11]
live555-2024.05.05-build/live/liveMedia/AMRAudioRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def12]
live555-2024.05.05-build/live/liveMedia/AVIFileSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def13]
live555-2024.05.05-build/live/liveMedia/AVIFileSink.cpp:774:23: warning[core.NullDereference]: Access to field 'fAVISubsessionTag' results in a dereference of a null pointer (loaded from field 'fCurrentIOState')
#  772|         size += addHalfWord(0); // bIndexSubType + bIndexType
#  773|         size += addWord(0); // nEntriesInUse #####
#  774|->       size += addWord(fCurrentIOState->fAVISubsessionTag); // dwChunkId
#  775|         size += addZeroWords(2); // dwReserved
#  776|         size += addZeroWords(AVI_MASTER_INDEX_SIZE*4);

Error: CPPCHECK_WARNING: [#def14]
live555-2024.05.05-build/live/liveMedia/Base64.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def15]
live555-2024.05.05-build/live/liveMedia/BitVector.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def16]
live555-2024.05.05-build/live/liveMedia/BitVector.cpp:103:17: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<<' is a garbage value
#  101|   
#  102|     unsigned result
#  103|->     = (tmpBuf[0]<<24) | (tmpBuf[1]<<16) | (tmpBuf[2]<<8) | tmpBuf[3];
#  104|     result >>= (MAX_LENGTH - numBits); // move into low-order part of word
#  105|     result &= (0xFFFFFFFF << overflowingBits); // so any overflow bits are 0

Error: CLANG_WARNING: [#def17]
live555-2024.05.05-build/live/liveMedia/BitVector.cpp:169:18: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage
#  167|   
#  168|       if (fromBit != 0) {
#  169|->       *toBytePtr |= toBitMask;
#  170|       } else {
#  171|         *toBytePtr &=~ toBitMask;

Error: CLANG_WARNING: [#def18]
live555-2024.05.05-build/live/liveMedia/BitVector.cpp:171:18: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage
#  169|         *toBytePtr |= toBitMask;
#  170|       } else {
#  171|->       *toBytePtr &=~ toBitMask;
#  172|       }
#  173|   

Error: CPPCHECK_WARNING: [#def19]
live555-2024.05.05-build/live/liveMedia/GenericMediaServer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def20]
live555-2024.05.05-build/live/liveMedia/H263plusVideoRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING: [#def21]
live555-2024.05.05-build/live/liveMedia/H263plusVideoStreamParser.cpp: scope_hint: In member function ‘int H263plusVideoStreamParser::parseH263Frame()’
live555-2024.05.05-build/live/liveMedia/H263plusVideoStreamParser.cpp:200:47: warning[-Wformat=]: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long int’
#  200 |       fprintf(stderr, "%s: Buffer too small (%u)\n",
#      |                                              ~^
#      |                                               |
#      |                                               unsigned int
#      |                                              %lu
#  198|   
#  199|      if (row != -1) {
#  200|->       fprintf(stderr, "%s: Buffer too small (%u)\n",
#  201|            "h263reader:", bufferEnd - fTo + ADDITIONAL_BYTES_NEEDED);
#  202|         return 0;

Error: CPPCHECK_WARNING: [#def22]
live555-2024.05.05-build/live/liveMedia/H264or5VideoStreamDiscreteFramer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def23]
live555-2024.05.05-build/live/liveMedia/H264or5VideoStreamFramer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def24]
live555-2024.05.05-build/live/liveMedia/H264or5VideoStreamFramer.cpp:1000:15: warning[deadcode.DeadStores]: Although the value stored to 'first4Bytes' is used in the enclosing expression, the value is never actually read from 'first4Bytes'
#  998|         // Skip over any input bytes that precede the first 0x00000001:
#  999|         u_int32_t first4Bytes;
# 1000|->       while ((first4Bytes = test4Bytes()) != 0x00000001) {
# 1001|   	get1Byte(); setParseState(); // ensures that we progress over bad data
# 1002|         }

Error: CPPCHECK_WARNING: [#def25]
live555-2024.05.05-build/live/liveMedia/H265VideoRTPSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def26]
live555-2024.05.05-build/live/liveMedia/JPEGVideoRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def27]
live555-2024.05.05-build/live/liveMedia/JPEGVideoRTPSource.cpp:223:5: warning[deadcode.DeadStores]: Value stored to 'qtables' is never read
#  221|       *ptr++ = 0x01; // precision(0), table id(1)
#  222|       memcpy(ptr, qtables, tableSize);
#  223|->     qtables += tableSize;
#  224|       ptr += tableSize;
#  225|     }

Error: COMPILER_WARNING (CWE-457): [#def28]
live555-2024.05.05-build/live/liveMedia/Locale.cpp: scope_hint: In member function ‘Locale::Locale(char const*, LocaleCategory)’
live555-2024.05.05-build/live/liveMedia/Locale.cpp:33:22: warning[-Wmaybe-uninitialized]: ‘categoryMask’ may be used uninitialized
#   33 |   fLocale = newlocale(categoryMask, newLocale, NULL);
#      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
live555-2024.05.05-build/live/liveMedia/Locale.cpp:28:7: note: ‘categoryMask’ was declared here
#   28 |   int categoryMask;
#      |       ^~~~~~~~~~~~
#   31|       case Numeric: { categoryMask = LC_NUMERIC_MASK; break; }
#   32|     }
#   33|->   fLocale = newlocale(categoryMask, newLocale, NULL);
#   34|     fPrevLocale = uselocale(fLocale);
#   35|   #else

Error: CPPCHECK_WARNING: [#def29]
live555-2024.05.05-build/live/liveMedia/MIKEY.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def30]
live555-2024.05.05-build/live/liveMedia/MP3ADU.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def31]
live555-2024.05.05-build/live/liveMedia/MP3Internals.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def32]
live555-2024.05.05-build/live/liveMedia/MP3Internals.cpp:398:26: warning[core.UndefinedBinaryOperatorResult]: The left operand of '+' is a garbage value
#  396|   	   gr_info.subblock_gain[i] = fr.getBits(3);
#  397|              gr_info.full_gain[i]
#  398|-> 	     = gr_info.pow2gain + ((gr_info.subblock_gain[i])<<3);
#  399|   	 }
#  400|   

Error: CLANG_WARNING: [#def33]
live555-2024.05.05-build/live/liveMedia/MP3Internals.cpp:477:26: warning[core.UndefinedBinaryOperatorResult]: The left operand of '+' is a garbage value
#  475|   	   gr_info.subblock_gain[i] = fr.getBits(3);
#  476|              gr_info.full_gain[i]
#  477|-> 	     = gr_info.pow2gain + ((gr_info.subblock_gain[i])<<3);
#  478|   	 }
#  479|   

Error: CLANG_WARNING: [#def34]
live555-2024.05.05-build/live/liveMedia/MP3Internals.cpp:723:26: warning[core.UndefinedBinaryOperatorResult]: The left operand of '&' is a garbage value
#  721|     // Alter the 4-byte MPEG header to reflect the output ADU:
#  722|     // (different bitrate; mono; no CRC)
#  723|->   Boolean isMPEG2 = ((hdr&0x00080000) == 0);
#  724|     unsigned toBitrateIndex = MP3BitrateToBitrateIndex(toBitrate, isMPEG2);
#  725|     hdr &=~ 0xF000; hdr |= (toBitrateIndex<<12); // set bitrate index

Error: CPPCHECK_WARNING: [#def35]
live555-2024.05.05-build/live/liveMedia/MP3InternalsHuffman.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def36]
live555-2024.05.05-build/live/liveMedia/MP3InternalsHuffman.cpp:155:7: warning[deadcode.DeadStores]: Value stored to 'j' is never read
#  153|       }
#  154|       if (j < 0) { /* should happen only if we couldn't fit sfLength */
#  155|->       j = 0; adjustment = 0;
#  156|       } else {
#  157|         adjustment = part23Length0a+part23Length0aTruncation+part23Length0b

Error: CLANG_WARNING: [#def37]
live555-2024.05.05-build/live/liveMedia/MP3InternalsHuffman.cpp:266:7: warning[deadcode.DeadStores]: Value stored to 'j' is never read
#  264|       }
#  265|       if (j < 0) { /* should happen only if we couldn't fit sfLength */
#  266|->       j = 0; adjustment = 0;
#  267|       } else {
#  268|         adjustment = part23Length1a+part23Length1aTruncation+part23Length1b

Error: CPPCHECK_WARNING: [#def38]
live555-2024.05.05-build/live/liveMedia/MP3StreamState.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def39]
live555-2024.05.05-build/live/liveMedia/MP3StreamState.cpp:386:5: warning[deadcode.DeadStores]: Value stored to 'i' is never read
#  384|         fXingTOC[j] = p[i+j];
#  385|       }
#  386|->     i += XING_TOC_FLAG; bytesAvailable -= XING_TOC_FLAG;
#  387|     }
#  388|   }

Error: CLANG_WARNING: [#def40]
live555-2024.05.05-build/live/liveMedia/MP3StreamState.cpp:386:25: warning[deadcode.DeadStores]: Value stored to 'bytesAvailable' is never read
#  384|         fXingTOC[j] = p[i+j];
#  385|       }
#  386|->     i += XING_TOC_FLAG; bytesAvailable -= XING_TOC_FLAG;
#  387|     }
#  388|   }

Error: CPPCHECK_WARNING: [#def41]
live555-2024.05.05-build/live/liveMedia/MPEG1or2Demux.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING: [#def42]
live555-2024.05.05-build/live/liveMedia/MPEG1or2Demux.cpp:29:6: warning[-Wodr]: type ‘MPEGParseState’ violates the C++ One Definition Rule
#   29 | enum MPEGParseState {
#      |      ^
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamFramer.cpp:29:6: note: an enum with different value name is defined in another translation unit
#   29 | enum MPEGParseState {
#      |      ^
live555-2024.05.05-build/live/liveMedia/MPEG1or2Demux.cpp:30:3: note: name ‘PARSING_PACK_HEADER’ differs from name ‘PARSING_VIDEO_SEQUENCE_HEADER’ defined in another translation unit
#   30 |   PARSING_PACK_HEADER,
#      |   ^
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamFramer.cpp:30:3: note: mismatching definition
#   30 |   PARSING_VIDEO_SEQUENCE_HEADER,
#      |   ^
#   27|   
#   28|   // An enum representing the current state of the parser:
#   29|-> enum MPEGParseState {
#   30|     PARSING_PACK_HEADER,
#   31|     PARSING_SYSTEM_HEADER,

Error: CPPCHECK_WARNING: [#def43]
live555-2024.05.05-build/live/liveMedia/MPEG1or2FileServerDemux.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def44]
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoRTPSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-704): [#def45]
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoRTPSink.cpp: scope_hint: In member function ‘virtual void MPEG1or2VideoRTPSink::doSpecialFrameHandling(unsigned int, unsigned char*, unsigned int, timeval, unsigned int)’
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoRTPSink.cpp:124:18: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  124 |               << (void*)startCode << ", but we're not a fragment\n";
#      |                  ^~~~~~~~~~~~~~~~
#  122|         // The first 4 bytes aren't a code that we recognize.
#  123|         envir() << "Warning: MPEG1or2VideoRTPSink::doSpecialFrameHandling saw strange first 4 bytes "
#  124|-> 	      << (void*)startCode << ", but we're not a fragment\n";
#  125|       }
#  126|     } else {

Error: CPPCHECK_WARNING: [#def46]
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamDiscreteFramer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def47]
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamFramer.cpp:250:13: warning[deadcode.DeadStores]: Although the value stored to 'first4Bytes' is used in the enclosing expression, the value is never actually read from 'first4Bytes'
#  248|     unsigned first4Bytes;
#  249|     if (!haveSeenStartCode) {
#  250|->     while ((first4Bytes = test4Bytes()) != VIDEO_SEQUENCE_HEADER_START_CODE) {
#  251|   #ifdef DEBUG
#  252|         fprintf(stderr, "ignoring non video sequence header: 0x%08x\n", first4Bytes);

Error: CLANG_WARNING: [#def48]
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamFramer.cpp:311:13: warning[deadcode.DeadStores]: Although the value stored to 'first4Bytes' is used in the enclosing expression, the value is never actually read from 'first4Bytes'
#  309|     unsigned first4Bytes;
#  310|     if (!haveSeenStartCode) {
#  311|->     while ((first4Bytes = test4Bytes()) != GROUP_START_CODE) {
#  312|   #ifdef DEBUG
#  313|         fprintf(stderr, "ignoring non GOP start code: 0x%08x\n", first4Bytes);

Error: COMPILER_WARNING (CWE-704): [#def49]
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamFramer.cpp: scope_hint: In member function ‘unsigned int MPEG1or2VideoStreamParser::parseSlice()’
live555-2024.05.05-build/live/liveMedia/MPEG1or2VideoStreamFramer.cpp:463:32: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  463 |                             << (void*)next4Bytes << "\n";
#      |                                ^~~~~~~~~~~~~~~~~
#  461|       default: {
#  462|         usingSource()->envir() << "MPEG1or2VideoStreamParser::parseSlice(): Saw unexpected code "
#  463|-> 			    << (void*)next4Bytes << "\n";
#  464|         setParseState(PARSING_SLICE); // the safest way to recover...
#  465|         break;

Error: CPPCHECK_WARNING: [#def50]
live555-2024.05.05-build/live/liveMedia/MPEG2IndexFromTransportStream.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-704): [#def51]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportFileServerMediaSubsession.cpp: scope_hint: In member function ‘virtual FramedSource* MPEG2TransportFileServerMediaSubsession::createNewStreamSource(unsigned int, unsigned int&)’
live555-2024.05.05-build/live/liveMedia/MPEG2TransportFileServerMediaSubsession.cpp:185:36: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  185 |       fClientSessionHashTable->Add((char const*)clientSessionId, client);
#      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  183|       if (client == NULL) {
#  184|         client = newClientTrickPlayState();
#  185|->       fClientSessionHashTable->Add((char const*)clientSessionId, client);
#  186|       }
#  187|       client->setSource(framer);

Error: COMPILER_WARNING (CWE-704): [#def52]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportFileServerMediaSubsession.cpp: scope_hint: In member function ‘ClientTrickPlayState* MPEG2TransportFileServerMediaSubsession::lookupClient(unsigned int)’
live555-2024.05.05-build/live/liveMedia/MPEG2TransportFileServerMediaSubsession.cpp:219:66: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  219 |   return (ClientTrickPlayState*)(fClientSessionHashTable->Lookup((char const*)clientSessionId));
#      |                                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  217|   ClientTrickPlayState* MPEG2TransportFileServerMediaSubsession
#  218|   ::lookupClient(unsigned clientSessionId) {
#  219|->   return (ClientTrickPlayState*)(fClientSessionHashTable->Lookup((char const*)clientSessionId));
#  220|   }
#  221|   

Error: CPPCHECK_WARNING: [#def53]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamFramer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-704): [#def54]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamFramer.cpp: scope_hint: In member function ‘Boolean MPEG2TransportStreamFramer::updateTSPacketDurationEstimate(unsigned char*, double)’
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamFramer.cpp:233:63: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  233 |   PIDStatus* pidStatus = (PIDStatus*)(fPIDStatusTable->Lookup((char*)pid));
#      |                                                               ^~~~~~~~~~
#  231|   
#  232|     // Check whether we already have a record of a PCR for this PID:
#  233|->   PIDStatus* pidStatus = (PIDStatus*)(fPIDStatusTable->Lookup((char*)pid));
#  234|   
#  235|     if (pidStatus == NULL) {

Error: COMPILER_WARNING (CWE-704): [#def55]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamFramer.cpp:238:26: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  238 |     fPIDStatusTable->Add((char*)pid, pidStatus);
#      |                          ^~~~~~~~~~
#  236|       // We're seeing this PID's PCR for the first time:
#  237|       pidStatus = new PIDStatus(clock, timeNow);
#  238|->     fPIDStatusTable->Add((char*)pid, pidStatus);
#  239|   #ifdef DEBUG_PCR
#  240|       fprintf(stderr, "PID 0x%x, FIRST PCR 0x%08x+%d:%03x == %f @ %f, pkt #%lu\n", pid, pcrBaseHigh, pkt[10]>>7, pcrExt, clock, timeNow, fTSPacketCount);

Error: CPPCHECK_WARNING: [#def56]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamMultiplexor.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def57]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def58]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser.cpp:193:7: warning[deadcode.DeadStores]: Value stored to 'PCR' is never read
#  191|         double PCR = first32PCRBits/45000.0;
#  192|         if ((last16PCRBits&0x8000) != 0) PCR += 1/90000.0; // add in low-bit (if set)
#  193|->       PCR += (last16PCRBits&0x01FF)/27000000.0; // add in extension
#  194|   #ifdef DEBUG_CONTENTS
#  195|         fprintf(stderr, "\t\tPCR: %.10f\n", PCR);

Error: CLANG_WARNING: [#def59]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser.cpp:205:7: warning[deadcode.DeadStores]: Value stored to 'OPCR' is never read
#  203|         double OPCR = first32OPCRBits/45000.0;
#  204|         if ((last16OPCRBits&0x8000) != 0) OPCR += 1/90000.0; // add in low-bit (if set)
#  205|->       OPCR += (last16OPCRBits&0x01FF)/27000000.0; // add in extension
#  206|   #ifdef DEBUG_CONTENTS
#  207|         fprintf(stderr, "\t\tOPCR: %.10f\n", OPCR);

Error: CPPCHECK_WARNING: [#def60]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser_PAT.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def61]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser_PMT.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def62]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser_STREAM.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def63]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser_STREAM.cpp:181:17: warning[deadcode.DeadStores]: Value stored to 'DTS' is never read
#  179|   	u_int8_t dtsLowBit = (last32DTSBits&0x00000002)>>1;
#  180|   	double DTS = dtsUpper32/45000.0;
#  181|-> 	if (dtsLowBit) DTS += 1/90000.0;
#  182|   #ifdef DEBUG_CONTENTS
#  183|   	fprintf(stderr, "\t\t\tDTS: 0x%02x%08x => 0x%08x+%d => %.10f\n",

Error: COMPILER_WARNING (CWE-195): [#def64]
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser_STREAM.cpp: scope_hint: In member function ‘unsigned int MPEG2TransportStreamParser::parsePESHeader(PIDState_STREAM*, unsigned int)’
live555-2024.05.05-build/live/liveMedia/MPEG2TransportStreamParser_STREAM.cpp:251:34: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’
#  251 |       if (curOffset() - startPos > 9 + PES_header_data_length) {
#      |           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  249|         // Make sure that the number of header bytes parsed is consistent with "PES_header_data_length"
#  250|         // (and skip over any remasining 'stuffing' bytes):
#  251|->       if (curOffset() - startPos > 9 + PES_header_data_length) {
#  252|   #ifdef DEBUG_ERRORS
#  253|   	fprintf(stderr, "MPEG2TransportStreamParser::parsePESHeader(0x%02x, %d): Error: Parsed %d PES header bytes; expected %d (based on \"PES_header_data_length\": %d)\n",

Error: CPPCHECK_WARNING: [#def65]
live555-2024.05.05-build/live/liveMedia/MPEG4GenericRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def66]
live555-2024.05.05-build/live/liveMedia/MPEG4VideoStreamDiscreteFramer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def67]
live555-2024.05.05-build/live/liveMedia/MPEG4VideoStreamDiscreteFramer.cpp:123:2: warning[deadcode.DeadStores]: Value stored to 'i' is never read
#  121|   	u_int32_t next4Bytes
#  122|   	  = (fTo[i]<<24)|(fTo[i+1]<<16)|(fTo[i+2]<<8)|fTo[i+3];
#  123|-> 	i += 4;
#  124|   	u_int32_t timeInfo = (nextByte<<(32-6))|(next4Bytes>>6);
#  125|   	unsigned modulo_time_base = 0;

Error: CPPCHECK_WARNING: [#def68]
live555-2024.05.05-build/live/liveMedia/MPEG4VideoStreamFramer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def69]
live555-2024.05.05-build/live/liveMedia/MPEG4VideoStreamFramer.cpp:241:13: warning[deadcode.DeadStores]: Although the value stored to 'first4Bytes' is used in the enclosing expression, the value is never actually read from 'first4Bytes'
#  239|     u_int32_t first4Bytes;
#  240|     if (!haveSeenStartCode) {
#  241|->     while ((first4Bytes = test4Bytes()) != VISUAL_OBJECT_SEQUENCE_START_CODE) {
#  242|   #ifdef DEBUG
#  243|         fprintf(stderr, "ignoring non VS header: 0x%08x\n", first4Bytes);

Error: COMPILER_WARNING (CWE-704): [#def70]
live555-2024.05.05-build/live/liveMedia/MPEG4VideoStreamFramer.cpp: scope_hint: In member function ‘unsigned int MPEG4VideoStreamParser::parseVideoObjectPlane()’
live555-2024.05.05-build/live/liveMedia/MPEG4VideoStreamFramer.cpp:655:33: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  655 |                              << (void*)next4Bytes << "\n";
#      |                                 ^~~~~~~~~~~~~~~~~
#  653|       } else {
#  654|         usingSource()->envir() << "MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code "
#  655|-> 			     << (void*)next4Bytes << "\n";
#  656|         setParseState(PARSING_VIDEO_OBJECT_PLANE); // the safest way to recover...
#  657|       }

Error: CPPCHECK_WARNING: [#def71]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING: [#def72]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:135:8: warning[-Wodr]: type ‘struct DemuxRecord’ violates the C++ One Definition Rule
#  135 | struct DemuxRecord {
#      |        ^
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:59:8: note: a different type is defined in another translation unit
#   59 | struct DemuxRecord {
#      |        ^
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:136:18: note: the first difference of corresponding definitions is field ‘demux’
#  136 |   MatroskaDemux* demux;
#      |                  ^
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:60:13: note: a field of same name but different type is defined in another translation unit
#   60 |   OggDemux* demux;
#      |             ^
live555-2024.05.05-build/live/liveMedia/include/MatroskaFile.hh:172:7: note: type name ‘MatroskaDemux’ should match type name ‘OggDemux’
#  172 | class MatroskaDemux: public Medium {
#      |       ^
live555-2024.05.05-build/live/liveMedia/include/OggFile.hh:142:7: note: the incompatible type is defined here
#  142 | class OggDemux: public Medium {
#      |       ^
#  133|   }
#  134|   
#  135|-> struct DemuxRecord {
#  136|     MatroskaDemux* demux;
#  137|     MatroskaDemuxOnDeletionFunc* onDeletionFunc;

Error: CLANG_WARNING: [#def73]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:493:7: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined
#  491|       for (i = 0; i < numHeaders; ++i) {
#  492|         success = False;
#  493|->       unsigned newHeaderSize = headerSize[i];
#  494|         u_int8_t* newHeader = new u_int8_t[newHeaderSize];
#  495|         if (newHeader == NULL) break;

Error: COMPILER_WARNING: [#def74]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: scope_hint: In member function ‘MatroskaFile::createFileSinkForTrackNumber(unsigned int, char const*)’
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:714:42: warning[-Wformat-overflow=]: ‘%s’ directive argument is null
#  714 |       sprintf(sPropParameterSetsStr, "%s,%s", sps_base64, pps_base64);
#      |                                          ^~
#  712|   		   (pps_base64 == NULL ? 0 : strlen(pps_base64)) +
#  713|   		   10 /*more than enough space*/];
#  714|->       sprintf(sPropParameterSetsStr, "%s,%s", sps_base64, pps_base64);
#  715|         delete[] sps_base64; delete[] pps_base64;
#  716|   

Error: COMPILER_WARNING (CWE-704): [#def75]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: scope_hint: In member function ‘void MatroskaTrackTable::add(MatroskaTrack*, unsigned int)’
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:815:70: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  815 |   if (newTrack != NULL && newTrack->trackNumber != 0) fTable->Remove((char const*)newTrack->trackNumber);
#      |                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  813|   
#  814|   void MatroskaTrackTable::add(MatroskaTrack* newTrack, unsigned trackNumber) {
#  815|->   if (newTrack != NULL && newTrack->trackNumber != 0) fTable->Remove((char const*)newTrack->trackNumber);
#  816|     MatroskaTrack* existingTrack = (MatroskaTrack*)fTable->Add((char const*)trackNumber, newTrack);
#  817|     delete existingTrack; // in case it wasn't NULL

Error: COMPILER_WARNING (CWE-704): [#def76]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:816:62: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  816 |   MatroskaTrack* existingTrack = (MatroskaTrack*)fTable->Add((char const*)trackNumber, newTrack);
#      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~
#  814|   void MatroskaTrackTable::add(MatroskaTrack* newTrack, unsigned trackNumber) {
#  815|     if (newTrack != NULL && newTrack->trackNumber != 0) fTable->Remove((char const*)newTrack->trackNumber);
#  816|->   MatroskaTrack* existingTrack = (MatroskaTrack*)fTable->Add((char const*)trackNumber, newTrack);
#  817|     delete existingTrack; // in case it wasn't NULL
#  818|   }

Error: COMPILER_WARNING (CWE-704): [#def77]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: scope_hint: In member function ‘MatroskaTrack* MatroskaTrackTable::lookup(unsigned int)’
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:821:41: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  821 |   return (MatroskaTrack*)fTable->Lookup((char const*)trackNumber);
#      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
#  819|   
#  820|   MatroskaTrack* MatroskaTrackTable::lookup(unsigned trackNumber) {
#  821|->   return (MatroskaTrack*)fTable->Lookup((char const*)trackNumber);
#  822|   }
#  823|   

Error: COMPILER_WARNING (CWE-704): [#def78]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: scope_hint: In member function ‘FramedSource* MatroskaDemux::newDemuxedTrackByTrackNumber(unsigned int)’
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:909:28: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  909 |   fDemuxedTracksTable->Add((char const*)trackNumber, trackSource);
#      |                            ^~~~~~~~~~~~~~~~~~~~~~~~
#  907|   
#  908|     FramedSource* trackSource = new MatroskaDemuxedTrack(envir(), trackNumber, *this);
#  909|->   fDemuxedTracksTable->Add((char const*)trackNumber, trackSource);
#  910|     return trackSource;
#  911|   }

Error: COMPILER_WARNING (CWE-704): [#def79]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: scope_hint: In member function ‘MatroskaDemuxedTrack* MatroskaDemux::lookupDemuxedTrack(unsigned int)’
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:914:61: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  914 |   return (MatroskaDemuxedTrack*)fDemuxedTracksTable->Lookup((char const*)trackNumber);
#      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~
#  912|   
#  913|   MatroskaDemuxedTrack* MatroskaDemux::lookupDemuxedTrack(unsigned trackNumber) {
#  914|->   return (MatroskaDemuxedTrack*)fDemuxedTracksTable->Lookup((char const*)trackNumber);
#  915|   }
#  916|   

Error: COMPILER_WARNING (CWE-704): [#def80]
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp: scope_hint: In member function ‘void MatroskaDemux::removeTrack(unsigned int)’
live555-2024.05.05-build/live/liveMedia/MatroskaFile.cpp:920:31: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  920 |   fDemuxedTracksTable->Remove((char const*)trackNumber);
#      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
#  918|     if (fOurParser != NULL) fOurParser->stopAnyDeliveryForTrack(trackNumber);
#  919|   
#  920|->   fDemuxedTracksTable->Remove((char const*)trackNumber);
#  921|     if (fDemuxedTracksTable->numEntries() == 0) {
#  922|       // We no longer have any demuxed tracks, so delete ourselves now:

Error: CPPCHECK_WARNING: [#def81]
live555-2024.05.05-build/live/liveMedia/MatroskaFileParser.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def82]
live555-2024.05.05-build/live/liveMedia/MatroskaFileParser.cpp:753:10: warning[cplusplus.NewDeleteLeaks]: Potential leak of memory pointed to by 'track'
#  751|     fLimitOffsetInFile = 0; // reset
#  752|     if (track != NULL && track->trackNumber == 0) delete track; // We had a previous "MatroskaTrack" object that was never used
#  753|->   return True; // we're done parsing track entries
#  754|   }
#  755|   

Error: CPPCHECK_WARNING (CWE-562): [#def83]
live555-2024.05.05-build/live/liveMedia/MatroskaFileParser.cpp:1319: error[danglingLifetime]: Non-local variable 'fCurFrameTo' will use pointer to local variable 'c'.
# 1317|     }
# 1318|   
# 1319|->   fCurFrameTo = to;
# 1320|     fCurFrameNumBytesToGet = numBytesToGet;
# 1321|     fCurFrameNumBytesToSkip = numBytesToSkip;

Error: CPPCHECK_WARNING: [#def84]
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-704): [#def85]
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp: scope_hint: In member function ‘Boolean MediaSubsession::initiate(int)’
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp:803:66: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  803 |           Groupsock* existing = (Groupsock*)socketHashTable->Add((char const*)key, fRTPSocket);
#      |                                                                  ^~~~~~~~~~~~~~~~
#  801|   	  // Record this socket in our table, and keep trying:
#  802|   	  unsigned key = (unsigned)fClientPortNum;
#  803|-> 	  Groupsock* existing = (Groupsock*)socketHashTable->Add((char const*)key, fRTPSocket);
#  804|   	  delete existing; // in case it wasn't NULL
#  805|   	  continue;

Error: COMPILER_WARNING (CWE-704): [#def86]
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp:825:66: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  825 |           Groupsock* existing = (Groupsock*)socketHashTable->Add((char const*)key, fRTPSocket);
#      |                                                                  ^~~~~~~~~~~~~~~~
#  823|   	  // Record the first socket in our table, and keep trying:
#  824|   	  unsigned key = (unsigned)fClientPortNum;
#  825|-> 	  Groupsock* existing = (Groupsock*)socketHashTable->Add((char const*)key, fRTPSocket);
#  826|   	  delete existing; // in case it wasn't NULL
#  827|   	  continue;

Error: COMPILER_WARNING (CWE-483): [#def87]
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp: scope_hint: In member function ‘Boolean MediaSubsession::parseSDPAttribute_fmtp(const char*)’
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp:1153:5: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
# 1153 |     if (strncmp(sdpLine, "a=fmtp:", 7) != 0) break; sdpLine += 7;
#      |     ^~
live555-2024.05.05-build/live/liveMedia/MediaSession.cpp:1153:53: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
# 1153 |     if (strncmp(sdpLine, "a=fmtp:", 7) != 0) break; sdpLine += 7;
#      |                                                     ^~~~~~~
# 1151|     // Later: Check that payload format number matches; #####
# 1152|     do {
# 1153|->     if (strncmp(sdpLine, "a=fmtp:", 7) != 0) break; sdpLine += 7;
# 1154|       while (isdigit(*sdpLine)) ++sdpLine;
# 1155|   

Error: CLANG_WARNING: [#def88]
live555-2024.05.05-build/live/liveMedia/MediaSink.cpp:182:10: warning[core.CallAndMessage]: 1st function call argument is an uninitialized value
#  180|     u_int32_t nWord;
#  181|     extract((unsigned char*)&nWord, 4, fromPosition);
#  182|->   return ntohl(nWord);
#  183|   }
#  184|   

Error: CPPCHECK_WARNING: [#def89]
live555-2024.05.05-build/live/liveMedia/MultiFramedRTPSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def90]
live555-2024.05.05-build/live/liveMedia/MultiFramedRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-704): [#def91]
live555-2024.05.05-build/live/liveMedia/OggFile.cpp: scope_hint: In member function ‘void OggTrackTable::add(OggTrack*)’
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:216:30: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  216 |     = (OggTrack*)fTable->Add((char const*)newTrack->trackNumber, newTrack);
#      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  214|   void OggTrackTable::add(OggTrack* newTrack) {
#  215|     OggTrack* existingTrack
#  216|->     = (OggTrack*)fTable->Add((char const*)newTrack->trackNumber, newTrack);
#  217|     delete existingTrack; // if any
#  218|   }

Error: COMPILER_WARNING (CWE-704): [#def92]
live555-2024.05.05-build/live/liveMedia/OggFile.cpp: scope_hint: In member function ‘OggTrack* OggTrackTable::lookup(u_int32_t)’
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:221:36: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  221 |   return (OggTrack*)fTable->Lookup((char const*)trackNumber);
#      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~
#  219|   
#  220|   OggTrack* OggTrackTable::lookup(u_int32_t trackNumber) {
#  221|->   return (OggTrack*)fTable->Lookup((char const*)trackNumber);
#  222|   }
#  223|   

Error: COMPILER_WARNING (CWE-704): [#def93]
live555-2024.05.05-build/live/liveMedia/OggFile.cpp: scope_hint: In member function ‘FramedSource* OggDemux::newDemuxedTrack(u_int32_t&)’
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:273:28: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  273 |   fDemuxedTracksTable->Add((char const*)resultTrackNumber, trackSource);
#      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  271|     resultTrackNumber = nextTrack->trackNumber;
#  272|     FramedSource* trackSource = new OggDemuxedTrack(envir(), resultTrackNumber, *this);
#  273|->   fDemuxedTracksTable->Add((char const*)resultTrackNumber, trackSource);
#  274|     return trackSource;
#  275|   }

Error: COMPILER_WARNING (CWE-704): [#def94]
live555-2024.05.05-build/live/liveMedia/OggFile.cpp: scope_hint: In member function ‘FramedSource* OggDemux::newDemuxedTrackByTrackNumber(unsigned int)’
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:281:28: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  281 |   fDemuxedTracksTable->Add((char const*)trackNumber, trackSource);
#      |                            ^~~~~~~~~~~~~~~~~~~~~~~~
#  279|   
#  280|     FramedSource* trackSource = new OggDemuxedTrack(envir(), trackNumber, *this);
#  281|->   fDemuxedTracksTable->Add((char const*)trackNumber, trackSource);
#  282|     return trackSource;
#  283|   }

Error: COMPILER_WARNING (CWE-704): [#def95]
live555-2024.05.05-build/live/liveMedia/OggFile.cpp: scope_hint: In member function ‘OggDemuxedTrack* OggDemux::lookupDemuxedTrack(u_int32_t)’
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:286:56: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  286 |   return (OggDemuxedTrack*)fDemuxedTracksTable->Lookup((char const*)trackNumber);
#      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~
#  284|   
#  285|   OggDemuxedTrack* OggDemux::lookupDemuxedTrack(u_int32_t trackNumber) {
#  286|->   return (OggDemuxedTrack*)fDemuxedTracksTable->Lookup((char const*)trackNumber);
#  287|   }
#  288|   

Error: COMPILER_WARNING (CWE-704): [#def96]
live555-2024.05.05-build/live/liveMedia/OggFile.cpp: scope_hint: In member function ‘void OggDemux::removeTrack(u_int32_t)’
live555-2024.05.05-build/live/liveMedia/OggFile.cpp:312:31: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  312 |   fDemuxedTracksTable->Remove((char const*)trackNumber);
#      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
#  310|   
#  311|   void OggDemux::removeTrack(u_int32_t trackNumber) {
#  312|->   fDemuxedTracksTable->Remove((char const*)trackNumber);
#  313|     if (fDemuxedTracksTable->numEntries() == 0) {
#  314|       // We no longer have any demuxed tracks, so delete ourselves now:

Error: CPPCHECK_WARNING: [#def97]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def98]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:175:32: warning[core.NullDereference]: Access to field 'numCompletedPackets' results in a dereference of a null pointer (loaded from field 'fPacketSizeTable')
#  173|         Boolean isTheora = strcmp(track->mimeType, "video/THEORA") == 0;
#  174|   
#  175|->       for (unsigned j = 0; j < fPacketSizeTable->numCompletedPackets && track->weNeedHeaders(); ++j) {
#  176|   	unsigned const packetSize = fPacketSizeTable->size[j];
#  177|   	if (packetSize == 0) continue; // sanity check

Error: CLANG_WARNING: [#def99]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:232:7: warning[core.NullDereference]: Access to field 'totSizes' results in a dereference of a null pointer (loaded from field 'fPacketSizeTable')
#  230|   
#  231|     // Skip over any remaining packet data bytes:
#  232|->   if (fPacketSizeTable->totSizes > 0) {
#  233|   #ifdef DEBUG
#  234|       fprintf(stderr, "Skipping %d remaining packet data bytes\n", fPacketSizeTable->totSizes);

Error: CLANG_WARNING: [#def100]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:254:35: warning[core.BitwiseShift]: Right shift by '4294967272' overflows the capacity of 'int'
#  252|         return 0;
#  253|       } else if (numBits == fNumBitsRemainingInCurrentByte) {
#  254|->       u_int32_t result = (*fPtr++)>>(8-fNumBitsRemainingInCurrentByte);
#  255|         fNumBitsRemainingInCurrentByte = 8;
#  256|   

Error: CLANG_WARNING: [#def101]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:254:35: warning[core.BitwiseShift]: Right shift by '4294967280' overflows the capacity of 'int'
#  252|         return 0;
#  253|       } else if (numBits == fNumBitsRemainingInCurrentByte) {
#  254|->       u_int32_t result = (*fPtr++)>>(8-fNumBitsRemainingInCurrentByte);
#  255|         fNumBitsRemainingInCurrentByte = 8;
#  256|   

Error: CLANG_WARNING: [#def102]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:254:35: warning[core.BitwiseShift]: Right shift by '4294967282' overflows the capacity of 'int'
#  252|         return 0;
#  253|       } else if (numBits == fNumBitsRemainingInCurrentByte) {
#  254|->       u_int32_t result = (*fPtr++)>>(8-fNumBitsRemainingInCurrentByte);
#  255|         fNumBitsRemainingInCurrentByte = 8;
#  256|   

Error: CLANG_WARNING: [#def103]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:254:35: warning[core.BitwiseShift]: Right shift by '4294967288' overflows the capacity of 'int'
#  252|         return 0;
#  253|       } else if (numBits == fNumBitsRemainingInCurrentByte) {
#  254|->       u_int32_t result = (*fPtr++)>>(8-fNumBitsRemainingInCurrentByte);
#  255|         fNumBitsRemainingInCurrentByte = 8;
#  256|   

Error: CLANG_WARNING: [#def104]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:259:27: warning[core.BitwiseShift]: Right shift by '4294967272' overflows the capacity of 'int'
#  257|         return result;
#  258|       } else if (numBits < fNumBitsRemainingInCurrentByte) {
#  259|->       u_int8_t mask = 0xFF>>(8-numBits);
#  260|         u_int32_t result = ((*fPtr)>>(8-fNumBitsRemainingInCurrentByte)) & mask;
#  261|         fNumBitsRemainingInCurrentByte -= numBits;

Error: CLANG_WARNING: [#def105]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:259:27: warning[core.BitwiseShift]: Right shift by '4294967280' overflows the capacity of 'int'
#  257|         return result;
#  258|       } else if (numBits < fNumBitsRemainingInCurrentByte) {
#  259|->       u_int8_t mask = 0xFF>>(8-numBits);
#  260|         u_int32_t result = ((*fPtr)>>(8-fNumBitsRemainingInCurrentByte)) & mask;
#  261|         fNumBitsRemainingInCurrentByte -= numBits;

Error: CLANG_WARNING: [#def106]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:259:27: warning[core.BitwiseShift]: Right shift by '4294967282' overflows the capacity of 'int'
#  257|         return result;
#  258|       } else if (numBits < fNumBitsRemainingInCurrentByte) {
#  259|->       u_int8_t mask = 0xFF>>(8-numBits);
#  260|         u_int32_t result = ((*fPtr)>>(8-fNumBitsRemainingInCurrentByte)) & mask;
#  261|         fNumBitsRemainingInCurrentByte -= numBits;

Error: CLANG_WARNING: [#def107]
live555-2024.05.05-build/live/liveMedia/OggFileParser.cpp:259:27: warning[core.BitwiseShift]: Right shift by '4294967288' overflows the capacity of 'int'
#  257|         return result;
#  258|       } else if (numBits < fNumBitsRemainingInCurrentByte) {
#  259|->       u_int8_t mask = 0xFF>>(8-numBits);
#  260|         u_int32_t result = ((*fPtr)>>(8-fNumBitsRemainingInCurrentByte)) & mask;
#  261|         fNumBitsRemainingInCurrentByte -= numBits;

Error: CPPCHECK_WARNING: [#def108]
live555-2024.05.05-build/live/liveMedia/OggFileSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def109]
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def110]
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp:140:8: warning[cplusplus.NewDeleteLeaks]: Potential leak of memory pointed to by 'rtpGroupsock'
#  138|   	  serverRTPPort = serverPortNum;
#  139|   	  rtpGroupsock = createGroupsock(nullAddress(destinationAddress.ss_family), serverRTPPort);
#  140|-> 	  if (rtpGroupsock->socketNum() >= 0) break; // success
#  141|   	}
#  142|   

Error: COMPILER_WARNING (CWE-704): [#def111]
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp: scope_hint: In member function ‘virtual void OnDemandServerMediaSubsession::getStreamParameters(unsigned int, const sockaddr_storage&, const Port&, const Port&, int, unsigned char, unsigned char, TLSState*, sockaddr_storage&, u_int8_t&, Boolean&, Port&, Port&, void*&)’
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp:214:31: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  214 |   fDestinationsHashTable->Add((char const*)clientSessionId, destinations);
#      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  212|       destinations = new Destinations(tcpSocketNum, rtpChannelId, rtcpChannelId, tlsState);
#  213|     }
#  214|->   fDestinationsHashTable->Add((char const*)clientSessionId, destinations);
#  215|   }
#  216|   

Error: COMPILER_WARNING (CWE-704): [#def112]
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp: scope_hint: In member function ‘virtual void OnDemandServerMediaSubsession::startStream(unsigned int, void*, void (*)(void*), void*, short unsigned int&, unsigned int&, void (*)(void*, u_int8_t), void*)’
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp:227:54: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  227 |     = (Destinations*)(fDestinationsHashTable->Lookup((char const*)clientSessionId));
#      |                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  225|     StreamState* streamState = (StreamState*)streamToken;
#  226|     Destinations* destinations
#  227|->     = (Destinations*)(fDestinationsHashTable->Lookup((char const*)clientSessionId));
#  228|     if (streamState != NULL) {
#  229|       streamState->startPlaying(destinations, clientSessionId,

Error: COMPILER_WARNING (CWE-704): [#def113]
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp: scope_hint: In member function ‘virtual void OnDemandServerMediaSubsession::deleteStream(unsigned int, void*&)’
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp:351:54: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  351 |     = (Destinations*)(fDestinationsHashTable->Lookup((char const*)clientSessionId));
#      |                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  349|     // Look up (and remove) the destinations for this client session:
#  350|     Destinations* destinations
#  351|->     = (Destinations*)(fDestinationsHashTable->Lookup((char const*)clientSessionId));
#  352|     if (destinations != NULL) {
#  353|       fDestinationsHashTable->Remove((char const*)clientSessionId);

Error: COMPILER_WARNING (CWE-704): [#def114]
live555-2024.05.05-build/live/liveMedia/OnDemandServerMediaSubsession.cpp:353:36: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  353 |     fDestinationsHashTable->Remove((char const*)clientSessionId);
#      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  351|       = (Destinations*)(fDestinationsHashTable->Lookup((char const*)clientSessionId));
#  352|     if (destinations != NULL) {
#  353|->     fDestinationsHashTable->Remove((char const*)clientSessionId);
#  354|   
#  355|       // Stop streaming to these destinations:

Error: COMPILER_WARNING (CWE-704): [#def115]
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp: scope_hint: In member function ‘virtual void PassiveServerMediaSubsession::getStreamParameters(unsigned int, const sockaddr_storage&, const Port&, const Port&, int, unsigned char, unsigned char, TLSState*, sockaddr_storage&, u_int8_t&, Boolean&, Port&, Port&, void*&)’
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp:178:33: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  178 |   fClientRTCPSourceRecords->Add((char const*)clientSessionId, source);
#      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  176|     // Make a record of this client's source - for RTCP RR handling:
#  177|     RTCPSourceRecord* source = new RTCPSourceRecord(clientAddress, clientRTCPPort);
#  178|->   fClientRTCPSourceRecords->Add((char const*)clientSessionId, source);
#  179|   }
#  180|   

Error: COMPILER_WARNING (CWE-704): [#def116]
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp: scope_hint: In member function ‘virtual void PassiveServerMediaSubsession::startStream(unsigned int, void*, void (*)(void*), void*, short unsigned int&, unsigned int&, void (*)(void*, u_int8_t), void*)’
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp:205:85: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  205 |     RTCPSourceRecord* source = (RTCPSourceRecord*)(fClientRTCPSourceRecords->Lookup((char const*)clientSessionId));
#      |                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  203|   
#  204|       // Set up the handler for incoming RTCP "RR" packets from this client:
#  205|->     RTCPSourceRecord* source = (RTCPSourceRecord*)(fClientRTCPSourceRecords->Lookup((char const*)clientSessionId));
#  206|       if (source != NULL) {
#  207|         fRTCPInstance->setSpecificRRHandler(source->addr, source->port,

Error: COMPILER_WARNING (CWE-704): [#def117]
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp: scope_hint: In member function ‘virtual void PassiveServerMediaSubsession::deleteStream(unsigned int, void*&)’
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp:232:83: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  232 |   RTCPSourceRecord* source = (RTCPSourceRecord*)(fClientRTCPSourceRecords->Lookup((char const*)clientSessionId));
#      |                                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  230|   void PassiveServerMediaSubsession::deleteStream(unsigned clientSessionId, void*& /*streamToken*/) {
#  231|     // Lookup and remove the 'RTCPSourceRecord' for this client.  Also turn off RTCP "RR" handling:
#  232|->   RTCPSourceRecord* source = (RTCPSourceRecord*)(fClientRTCPSourceRecords->Lookup((char const*)clientSessionId));
#  233|     if (source != NULL) {
#  234|       if (fRTCPInstance != NULL) {

Error: COMPILER_WARNING (CWE-704): [#def118]
live555-2024.05.05-build/live/liveMedia/PassiveServerMediaSubsession.cpp:238:38: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  238 |     fClientRTCPSourceRecords->Remove((char const*)clientSessionId);
#      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  236|       }
#  237|   
#  238|->     fClientRTCPSourceRecords->Remove((char const*)clientSessionId);
#  239|       delete source;
#  240|     }

Error: CPPCHECK_WARNING: [#def119]
live555-2024.05.05-build/live/liveMedia/ProxyServerMediaSession.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def120]
live555-2024.05.05-build/live/liveMedia/QuickTimeFileSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def121]
live555-2024.05.05-build/live/liveMedia/QuickTimeGenericRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def122]
live555-2024.05.05-build/live/liveMedia/QuickTimeGenericRTPSource.cpp:225:5: warning[deadcode.DeadStores]: Value stored to 'headerStart' is never read
#  223|       }
#  224|       if (ssInfoLength > 0) return False; // malformed TLV data
#  225|->     headerStart += padding;
#  226|     }
#  227|   

Error: CPPCHECK_WARNING: [#def123]
live555-2024.05.05-build/live/liveMedia/RTCP.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-483): [#def124]
live555-2024.05.05-build/live/liveMedia/RTCP.cpp: scope_hint: In member function ‘void RTCPInstance::processIncomingReport(unsigned int, const sockaddr_storage&, int, unsigned char)’
live555-2024.05.05-build/live/liveMedia/RTCP.cpp:568:7: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
#  568 |       if (length < 4) break; length -= 4;
#      |       ^~
live555-2024.05.05-build/live/liveMedia/RTCP.cpp:568:30: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
#  568 |       if (length < 4) break; length -= 4;
#      |                              ^~~~~~
#  566|   
#  567|         // Assume that each RTCP subpacket begins with a 4-byte SSRC:
#  568|->       if (length < 4) break; length -= 4;
#  569|         reportSenderSSRC = ntohl(*(u_int32_t*)pkt); ADVANCE(4);
#  570|   #ifdef HACK_FOR_CHROME_WEBRTC_BUG

Error: COMPILER_WARNING (CWE-483): [#def125]
live555-2024.05.05-build/live/liveMedia/RTCP.cpp:586:11: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
#  586 |           if (length < 20) break; length -= 20;
#      |           ^~
live555-2024.05.05-build/live/liveMedia/RTCP.cpp:586:35: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
#  586 |           if (length < 20) break; length -= 20;
#      |                                   ^~~~~~
#  584|   	  fprintf(stderr, "SR\n");
#  585|   #endif
#  586|-> 	  if (length < 20) break; length -= 20;
#  587|   
#  588|   	  // Extract the NTP timestamp, and note this:

Error: CPPCHECK_WARNING: [#def126]
live555-2024.05.05-build/live/liveMedia/RTPInterface.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def127]
live555-2024.05.05-build/live/liveMedia/RTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def128]
live555-2024.05.05-build/live/liveMedia/RTSPClient.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def129]
live555-2024.05.05-build/live/liveMedia/RTSPClient.cpp:1324:7: warning[deadcode.DeadStores]: Value stored to 'rangeOK' is never read
# 1322|                  session->_absStartTime(), session->_absEndTime(),
# 1323|   			   startTimeIsNow)) break;
# 1324|->       rangeOK = True;
# 1325|   
# 1326|         MediaSubsessionIterator iter(*session);

Error: CLANG_WARNING: [#def130]
live555-2024.05.05-build/live/liveMedia/RTSPClient.cpp:1354:7: warning[deadcode.DeadStores]: Value stored to 'rangeOK' is never read
# 1352|                  subsession->_absStartTime(), subsession->_absEndTime(),
# 1353|   			   startTimeIsNow)) break;
# 1354|->       rangeOK = True;
# 1355|   
# 1356|         u_int16_t seqNum; u_int32_t timestamp;

Error: CPPCHECK_WARNING: [#def131]
live555-2024.05.05-build/live/liveMedia/RTSPCommon.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def132]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-704): [#def133]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp: scope_hint: In member function ‘void RTSPServer::noteTCPStreamingOnSocket(int, RTSPClientSession*, unsigned int)’
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:267:62: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  267 |     = (streamingOverTCPRecord*)fTCPStreamingDatabase->Lookup((char const*)socketNum);
#      |                                                              ^~~~~~~~~~~~~~~~~~~~~~
#  265|   ::noteTCPStreamingOnSocket(int socketNum, RTSPClientSession* clientSession, unsigned trackNum) {
#  266|     streamingOverTCPRecord* sotcpCur
#  267|->     = (streamingOverTCPRecord*)fTCPStreamingDatabase->Lookup((char const*)socketNum);
#  268|     streamingOverTCPRecord* sotcpNew
#  269|       = new streamingOverTCPRecord(clientSession->fOurSessionId, trackNum, sotcpCur);

Error: COMPILER_WARNING (CWE-704): [#def134]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:270:30: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  270 |   fTCPStreamingDatabase->Add((char const*)socketNum, sotcpNew);
#      |                              ^~~~~~~~~~~~~~~~~~~~~~
#  268|     streamingOverTCPRecord* sotcpNew
#  269|       = new streamingOverTCPRecord(clientSession->fOurSessionId, trackNum, sotcpCur);
#  270|->   fTCPStreamingDatabase->Add((char const*)socketNum, sotcpNew);
#  271|   }
#  272|   

Error: COMPILER_WARNING (CWE-704): [#def135]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp: scope_hint: In member function ‘void RTSPServer::unnoteTCPStreamingOnSocket(int, RTSPClientSession*, unsigned int)’
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:277:62: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  277 |     = (streamingOverTCPRecord*)fTCPStreamingDatabase->Lookup((char const*)socketNum);
#      |                                                              ^~~~~~~~~~~~~~~~~~~~~~
#  275|     if (socketNum < 0) return;
#  276|     streamingOverTCPRecord* sotcpHead
#  277|->     = (streamingOverTCPRecord*)fTCPStreamingDatabase->Lookup((char const*)socketNum);
#  278|     if (sotcpHead == NULL) return;
#  279|   

Error: COMPILER_WARNING (CWE-704): [#def136]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:298:37: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  298 |       fTCPStreamingDatabase->Remove((char const*)socketNum);
#      |                                     ^~~~~~~~~~~~~~~~~~~~~~
#  296|       if (sotcpHead == NULL) {
#  297|         // There were no more entries on the list.  Remove the original entry from the hash table:
#  298|->       fTCPStreamingDatabase->Remove((char const*)socketNum);
#  299|       } else {
#  300|         // Add the rest of the list into the hash table (replacing the original):

Error: COMPILER_WARNING (CWE-704): [#def137]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:301:34: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  301 |       fTCPStreamingDatabase->Add((char const*)socketNum, sotcpHead);
#      |                                  ^~~~~~~~~~~~~~~~~~~~~~
#  299|       } else {
#  300|         // Add the rest of the list into the hash table (replacing the original):
#  301|->       fTCPStreamingDatabase->Add((char const*)socketNum, sotcpHead);
#  302|       }
#  303|     } else {

Error: COMPILER_WARNING (CWE-704): [#def138]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp: scope_hint: In member function ‘void RTSPServer::stopTCPStreamingOnSocket(int)’
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:314:62: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  314 |     = (streamingOverTCPRecord*)fTCPStreamingDatabase->Lookup((char const*)socketNum);
#      |                                                              ^~~~~~~~~~~~~~~~~~~~~~
#  312|     // Close any stream that is streaming over "socketNum" (using RTP/RTCP-over-TCP streaming):
#  313|     streamingOverTCPRecord* sotcp
#  314|->     = (streamingOverTCPRecord*)fTCPStreamingDatabase->Lookup((char const*)socketNum);
#  315|     if (sotcp != NULL) {
#  316|       do {

Error: COMPILER_WARNING (CWE-704): [#def139]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:328:35: warning[-Wint-to-pointer-cast]: cast to pointer from integer of different size
#  328 |     fTCPStreamingDatabase->Remove((char const*)socketNum);
#      |                                   ^~~~~~~~~~~~~~~~~~~~~~
#  326|         sotcp = sotcpNext;
#  327|       } while (sotcp != NULL);
#  328|->     fTCPStreamingDatabase->Remove((char const*)socketNum);
#  329|     }
#  330|   }

Error: CPPCHECK_WARNING (CWE-786): [#def140]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:660: error[negativeIndex]: Array 'fRequestBuffer[20000]' accessed at index -3, which is out of bounds.
#  658|     ClientConnection::resetRequestBuffer();
#  659|     
#  660|->   fLastCRLF = &fRequestBuffer[-3]; // hack: Ensures that we don't think we have end-of-msg if the data starts with <CR><LF>
#  661|     fBase64RemainderCount = 0;
#  662|   }

Error: COMPILER_WARNING: [#def141]
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp: scope_hint: In member function ‘RTSPServer::RTSPClientConnection::resetRequestBuffer()’
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:660:15: warning[-Warray-bounds=]: array subscript -3 is below array bounds of ‘unsigned char[20000]’
#  660 |   fLastCRLF = &fRequestBuffer[-3]; // hack: Ensures that we don't think we have end-of-msg if the data starts with <CR><LF>
#      |               ^~~~~~~~~~~~~~~~~~~
live555-2024.05.05-build/live/liveMedia/include/RTSPServer.hh:25: included_from: Included from here.
live555-2024.05.05-build/live/liveMedia/RTSPServer.cpp:21: included_from: Included from here.
live555-2024.05.05-build/live/liveMedia/include/GenericMediaServer.hh:125:19: note: while referencing ‘fRequestBuffer’
#  125 |     unsigned char fRequestBuffer[REQUEST_BUFFER_SIZE];
#      |                   ^~~~~~~~~~~~~~
#  658|     ClientConnection::resetRequestBuffer();
#  659|     
#  660|->   fLastCRLF = &fRequestBuffer[-3]; // hack: Ensures that we don't think we have end-of-msg if the data starts with <CR><LF>
#  661|     fBase64RemainderCount = 0;
#  662|   }

Error: CPPCHECK_WARNING: [#def142]
live555-2024.05.05-build/live/liveMedia/RawVideoRTPSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def143]
live555-2024.05.05-build/live/liveMedia/SIPClient.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def144]
live555-2024.05.05-build/live/liveMedia/SRTPCryptographicContext.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-195): [#def145]
live555-2024.05.05-build/live/liveMedia/SRTPCryptographicContext.cpp: scope_hint: In member function ‘void SRTPCryptographicContext::cryptData(derivedKeys&, u_int64_t, u_int32_t, u_int8_t*, unsigned int)’
live555-2024.05.05-build/live/liveMedia/SRTPCryptographicContext.cpp:508:24: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’
#  508 |         = numDataBytes < numBytesEncrypted ? numDataBytes : numBytesEncrypted;
#      |           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
#  506|   
#  507|         unsigned numBytesToUse
#  508|-> 	= numDataBytes < numBytesEncrypted ? numDataBytes : numBytesEncrypted;
#  509|         for (unsigned i = 0; i < numBytesToUse; ++i) data[i] ^= keyStream[i];
#  510|         data += numBytesToUse;

Error: COMPILER_WARNING (CWE-195): [#def146]
live555-2024.05.05-build/live/liveMedia/SRTPCryptographicContext.cpp: scope_hint: In member function ‘void SRTPCryptographicContext::deriveSingleKey(const u_int8_t*, const u_int8_t*, SRTPKeyDerivationLabel, unsigned int, u_int8_t*)’
live555-2024.05.05-build/live/liveMedia/SRTPCryptographicContext.cpp:580:29: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’
#  580 |         = numBytesRemaining < numBytesEncrypted ? numBytesRemaining : numBytesEncrypted;
#      |           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
#  578|   
#  579|         unsigned numBytesToCopy
#  580|-> 	= numBytesRemaining < numBytesEncrypted ? numBytesRemaining : numBytesEncrypted;
#  581|         memmove(resultKey, ciphertext, numBytesToCopy);
#  582|         resultKey += numBytesToCopy;

Error: CPPCHECK_WARNING: [#def147]
live555-2024.05.05-build/live/liveMedia/ServerMediaSession.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def148]
live555-2024.05.05-build/live/liveMedia/StreamReplicator.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def149]
live555-2024.05.05-build/live/liveMedia/VP8VideoRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def150]
live555-2024.05.05-build/live/liveMedia/VP9VideoRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def151]
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSink.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: COMPILER_WARNING (CWE-483): [#def152]
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSink.cpp: scope_hint: In function ‘char* generateVorbisOrTheoraConfigStr(u_int8_t*, unsigned int, u_int8_t*, unsigned int, u_int8_t*, unsigned int, u_int32_t)’
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSink.cpp:257:3: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
#  257 |   if (identificationHeader != NULL) memmove(p, identificationHeader, identificationHeaderSize); p += identificationHeaderSize;
#      |   ^~
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSink.cpp:257:97: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
#  257 |   if (identificationHeader != NULL) memmove(p, identificationHeader, identificationHeaderSize); p += identificationHeaderSize;
#      |                                                                                                 ^
#  255|     }
#  256|     // Copy each header:
#  257|->   if (identificationHeader != NULL) memmove(p, identificationHeader, identificationHeaderSize); p += identificationHeaderSize;
#  258|     if (commentHeader != NULL) memmove(p, commentHeader, commentHeaderSize); p += commentHeaderSize;
#  259|     if (setupHeader != NULL) memmove(p, setupHeader, setupHeaderSize);

Error: COMPILER_WARNING (CWE-483): [#def153]
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSink.cpp:258:3: warning[-Wmisleading-indentation]: this ‘if’ clause does not guard...
#  258 |   if (commentHeader != NULL) memmove(p, commentHeader, commentHeaderSize); p += commentHeaderSize;
#      |   ^~
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSink.cpp:258:76: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
#  258 |   if (commentHeader != NULL) memmove(p, commentHeader, commentHeaderSize); p += commentHeaderSize;
#      |                                                                            ^
#  256|     // Copy each header:
#  257|     if (identificationHeader != NULL) memmove(p, identificationHeader, identificationHeaderSize); p += identificationHeaderSize;
#  258|->   if (commentHeader != NULL) memmove(p, commentHeader, commentHeaderSize); p += commentHeaderSize;
#  259|     if (setupHeader != NULL) memmove(p, setupHeader, setupHeaderSize);
#  260|     

Error: CPPCHECK_WARNING: [#def154]
live555-2024.05.05-build/live/liveMedia/VorbisAudioRTPSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def155]
live555-2024.05.05-build/live/liveMedia/WAVAudioFileServerMediaSubsession.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def156]
live555-2024.05.05-build/live/liveMedia/WAVAudioFileSource.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def157]
live555-2024.05.05-build/live/mediaServer/DynamicRTSPServer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def158]
live555-2024.05.05-build/live/mediaServer/live555MediaServer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def159]
live555-2024.05.05-build/live/proxyServer/live555ProxyServer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def160]
live555-2024.05.05-build/live/testProgs/mikeyParse.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def161]
live555-2024.05.05-build/live/testProgs/playCommon.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def162]
live555-2024.05.05-build/live/testProgs/playCommon.cpp:707:3: warning[cplusplus.NewDelete]: Use of memory after it is freed
#  705|   
#  706|     char* sdpDescription = resultString;
#  707|->   *env << "Opened URL \"" << streamURL << "\", returning a SDP description:\n" << sdpDescription << "\n";
#  708|   
#  709|     // Create a media session object from this SDP description:

Error: CLANG_WARNING: [#def163]
live555-2024.05.05-build/live/testProgs/playCommon.cpp:1332:3: warning[cplusplus.NewDeleteLeaks]: Potential leak of memory pointed to by 'qosRecordTail'
# 1330|   
# 1331|     // Then schedule the first of the periodic measurements:
# 1332|->   scheduleNextQOSMeasurement();
# 1333|   }
# 1334|   

Error: CLANG_WARNING: [#def164]
live555-2024.05.05-build/live/testProgs/playCommon.cpp:1336:3: warning[core.CallAndMessage]: Called C++ object pointer is null
# 1334|   
# 1335|   void printQOSData(int exitCode) {
# 1336|->   *env << "begin_QOS_statistics\n";
# 1337|     
# 1338|     // Print out stats for each active subsession:

Error: CPPCHECK_WARNING: [#def165]
live555-2024.05.05-build/live/testProgs/playSIP.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def166]
live555-2024.05.05-build/live/testProgs/testH264VideoToHLSSegments.cpp:77:16: warning[cplusplus.NewDeleteLeaks]: Potential leak of memory pointed to by 'ourM3U8FileName'
#   75|       char* ourM3U8FileName = new char[strlen(OUR_HLS_FILENAME_PREFIX) + 5/*strlen(".m3u8")*/ + 1];
#   76|       sprintf(ourM3U8FileName, "%s.m3u8", OUR_HLS_FILENAME_PREFIX);
#   77|->     ourM3U8Fid = fopen(ourM3U8FileName, "wb");
#   78|   
#   79|       fprintf(ourM3U8Fid,

Error: CPPCHECK_WARNING (CWE-401): [#def167]
live555-2024.05.05-build/live/testProgs/testH264VideoToHLSSegments.cpp:86: error[memleak]: Memory leak: ourM3U8FileName
#   84|   	    "#EXT-X-MEDIA-SEQUENCE:0\n",
#   85|   	    OUR_HLS_SEGMENTATION_DURATION);
#   86|->   }
#   87|   
#   88|     // Update our ".m3u8" file with information about this most recent segment:

Error: CPPCHECK_WARNING: [#def168]
live555-2024.05.05-build/live/testProgs/testMKVSplitter.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def169]
live555-2024.05.05-build/live/testProgs/testMKVStreamer.cpp:93:33: warning[cplusplus.NewDeleteLeaks]: Potential leak of memory pointed to by 'rtcpGroupsock'
#   91|     CNAME[maxCNAMElen] = '\0'; // just in case
#   92|   
#   93|->   for (unsigned i = 0; i < 3; ++i) {
#   94|       unsigned trackNumber;
#   95|       FramedSource* baseSource = matroskaDemux->newDemuxedTrack(trackNumber);

Error: CPPCHECK_WARNING: [#def170]
live555-2024.05.05-build/live/testProgs/testMPEG2TransportStreamTrickPlay.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CLANG_WARNING: [#def171]
live555-2024.05.05-build/live/testProgs/testOggStreamer.cpp:97:41: warning[cplusplus.NewDeleteLeaks]: Potential leak of memory pointed to by 'rtcpGroupsock'
#   95|     numTracks = oggFile->numTracks();
#   96|     trackState = new TrackState[numTracks];
#   97|->   for (unsigned i = 0; i < numTracks; ++i) {
#   98|       u_int32_t trackNumber;
#   99|       FramedSource* baseSource = oggDemux->newDemuxedTrack(trackNumber);

Error: CPPCHECK_WARNING: [#def172]
live555-2024.05.05-build/live/testProgs/testOnDemandRTSPServer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def173]
live555-2024.05.05-build/live/testProgs/testWAVAudioStreamer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Error: CPPCHECK_WARNING: [#def174]
live555-2024.05.05-build/live/testProgs/vobStreamer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.

Scan Properties

analyzer-version-clang18.1.7
analyzer-version-cppcheck2.14.2
analyzer-version-gcc14.1.1
analyzer-version-gcc-analyzer14.1.1
analyzer-version-shellcheck0.10.0
enabled-pluginsclang, cppcheck, gcc, shellcheck
exit-code0
hostip-172-16-1-144.us-west-2.compute.internal
mock-configfedora-41-x86_64
project-namelive555-2024.05.05-1.fc41
store-results-to/tmp/tmp7ae1v59n/live555-2024.05.05-1.fc41.tar.xz
time-created2024-07-03 16:10:52
time-finished2024-07-03 16:13:01
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-41-x86_64' '-t' 'cppcheck,gcc,clang,shellcheck' '-o' '/tmp/tmp7ae1v59n/live555-2024.05.05-1.fc41.tar.xz' '--gcc-analyze' '/tmp/tmp7ae1v59n/live555-2024.05.05-1.fc41.src.rpm'
tool-versioncsmock-3.5.3-1.el9