The following issues were found

src/third_party/boost/boost/mp11/detail/config.hpp
1 issues
gets - Does not check for buffer overflows
Security

Line: 69 Column: 21 CWE codes: 120 20
Suggestion: Use fgets() instead

              // Clang pre-4 in C++14 mode, libstdc++ pre-4.9, ::gets is not defined,
// but Clang tries to import it into std

   extern "C" char *gets (char *__s);
#endif

#elif defined(__INTEL_COMPILER)

// Intel C++

            

Reported by FlawFinder.

src/third_party/mozjs-60/extract/js/src/jit/BaselineCacheIRCompiler.cpp
1 issues
There is an unknown macro here somewhere. Configuration is required. If CACHE_IR_OPS is a macro then please configure it.
Error

Line: 78

              
  private:
#define DEFINE_OP(op) MOZ_MUST_USE bool emit##op();
    CACHE_IR_OPS(DEFINE_OP)
#undef DEFINE_OP

    Address stubAddress(uint32_t offset) const {
        return Address(ICStubReg, stubDataOffset_ + offset);
    }

            

Reported by Cppcheck.

src/third_party/mozjs-60/extract/js/src/jit/BaselineIC.cpp
1 issues
memcpy - Does not check for buffer overflows when copying to destination
Security

Line: 124 Column: 5 CWE codes: 120
Suggestion: Make sure destination can always hold the source data

                  uint8_t* frameStart = (uint8_t*)info + AlignBytes(ionOsrTempDataSpace, sizeof(Value));
    info->baselineFrame = frameStart + frameSpace;

    memcpy(frameStart, (uint8_t*)frame - numLocalsAndStackVals * sizeof(Value), frameSpace);

    JitSpew(JitSpew_BaselineOSR, "Allocated IonOsrTempData at %p", (void*) info);
    JitSpew(JitSpew_BaselineOSR, "Jitcode is %p", info->jitcode);

    // All done.

            

Reported by FlawFinder.

src/third_party/mozjs-60/extract/js/src/jit/BaselineJIT.cpp
1 issues
memcpy - Does not check for buffer overflows when copying to destination
Security

Line: 789 Column: 5 CWE codes: 120
Suggestion: Make sure destination can always hold the source data

                  MOZ_ASSERT(entries.length() > 0);
    MOZ_ASSERT(entries.length() == pcMappingSize_);

    memcpy(pcMappingData(), entries.buffer(), entries.length());
}

void
BaselineScript::copyPCMappingIndexEntries(const PCMappingIndexEntry* entries)
{

            

Reported by FlawFinder.

src/third_party/mozjs-60/extract/js/src/jit/CacheIRCompiler.cpp
1 issues
printf - If format strings can be influenced by an attacker, they can be exploited
Security

Line: 2508 Column: 10 CWE codes: 134
Suggestion: Use a constant for the format specification

              CacheIRCompiler::emitCallPrintString()
{
    const char* str = reinterpret_cast<char*>(reader.pointer());
    masm.printf(str);
    return true;
}

bool
CacheIRCompiler::emitBreakpoint()

            

Reported by FlawFinder.

src/third_party/mozjs-60/extract/js/src/jit/CacheIRSpewer.cpp
1 issues
char - Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues
Security

Line: 63 Column: 5 CWE codes: 119 120
Suggestion: Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length

                  if (enabled())
        return true;

    char name[256];
    uint32_t pid = getpid();
    SprintfLiteral(name, JIT_SPEW_DIR "/cacheir%" PRIu32 ".json", pid);

    if (!output.init(name))
        return false;

            

Reported by FlawFinder.

src/third_party/mozjs-60/extract/js/src/jit/CodeGenerator.cpp
1 issues
Uninitialized variable: bailOnNull
Error

Line: 11252 CWE codes: 908

                      masm.loadPtr(source, out);
    }

    if (bailOnNull) {
        Label bail;
        masm.branchTestPtr(Assembler::Zero, out, out, &bail);
        bailoutFrom(&bail, lir->snapshot());
    }
}

            

Reported by Cppcheck.

src/third_party/mozjs-60/extract/js/src/jit/IonBuilder.cpp
1 issues
equal - Function does not check the second iterator for over-read conditions
Security

Line: 2678 Column: 10 CWE codes: 126
Suggestion: This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it

                      trueBranch = !trueBranch;

    // Relational compares not supported.
    if (!equal && !notEqual)
        return Ok();

    MDefinition* subject = typeOf->input();
    TemporaryTypeSet* inputTypes = subject->resultTypeSet();


            

Reported by FlawFinder.

src/third_party/mozjs-60/extract/js/src/jit/Jit.cpp
1 issues
Possible null pointer dereference: maxArgv
Error

Line: 87 CWE codes: 476

              
    // Caller must construct |this| before invoking the function.
    MOZ_ASSERT_IF(constructing,
                  maxArgv[0].isObject() || maxArgv[0].isMagic(JS_UNINITIALIZED_LEXICAL));

    RootedValue result(cx, Int32Value(numActualArgs));
    {
        AssertCompartmentUnchanged pcc(cx);
        ActivationEntryMonitor entryMonitor(cx, calleeToken);

            

Reported by Cppcheck.

src/third_party/mozjs-60/extract/js/src/jit/JitAllocPolicy.h
1 issues
memcpy - Does not check for buffer overflows when copying to destination
Security

Line: 110 Column: 9 CWE codes: 120
Suggestion: Make sure destination can always hold the source data

                      if (MOZ_UNLIKELY(!n))
            return n;
        MOZ_ASSERT(!(oldSize & mozilla::tl::MulOverflowMask<sizeof(T)>::value));
        memcpy(n, p, Min(oldSize * sizeof(T), newSize * sizeof(T)));
        return n;
    }
    template <typename T>
    T* pod_malloc(size_t numElems) {
        return maybe_pod_malloc<T>(numElems);

            

Reported by FlawFinder.