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-clang | 18.1.7 |
analyzer-version-cppcheck | 2.14.2 |
analyzer-version-gcc | 14.1.1 |
analyzer-version-gcc-analyzer | 14.1.1 |
analyzer-version-shellcheck | 0.10.0 |
enabled-plugins | clang, cppcheck, gcc, shellcheck |
exit-code | 0 |
host | ip-172-16-1-144.us-west-2.compute.internal |
mock-config | fedora-41-x86_64 |
project-name | live555-2024.05.05-1.fc41 |
store-results-to | /tmp/tmp7ae1v59n/live555-2024.05.05-1.fc41.tar.xz |
time-created | 2024-07-03 16:10:52 |
time-finished | 2024-07-03 16:13:01 |
tool | csmock |
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-version | csmock-3.5.3-1.el9 |