The following issues were found
src/third_party/icu4c-57.1/source/i18n/unicode/calendar.h
2 issues
Line: 2330
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
#endif /* U_HIDE_INTERNAL_API */
private:
char validLocale[ULOC_FULLNAME_CAPACITY];
char actualLocale[ULOC_FULLNAME_CAPACITY];
public:
#if !UCONFIG_NO_SERVICE
/**
Reported by FlawFinder.
Line: 2331
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
private:
char validLocale[ULOC_FULLNAME_CAPACITY];
char actualLocale[ULOC_FULLNAME_CAPACITY];
public:
#if !UCONFIG_NO_SERVICE
/**
* INTERNAL FOR 2.6 -- Registration.
Reported by FlawFinder.
src/third_party/mozjs-60/extract/mfbt/PodOperations.h
2 issues
Line: 87
Column: 3
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
{
MOZ_ASSERT(aDst + 1 <= aSrc || aSrc + 1 <= aDst,
"destination and source must not overlap");
memcpy(reinterpret_cast<char*>(aDst), reinterpret_cast<const char*>(aSrc),
sizeof(T));
}
/**
* Copy |aNElem| T elements from |aSrc| to |aDst|. The two memory ranges must
Reported by FlawFinder.
Line: 110
Column: 5
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
PodAssign(aDst, aSrc);
}
} else {
memcpy(aDst, aSrc, aNElem * sizeof(T));
}
}
template<typename T>
static MOZ_ALWAYS_INLINE void
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/unicode/dcfmtsym.h
2 issues
Line: 422
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
Locale locale;
char actualLocale[ULOC_FULLNAME_CAPACITY];
char validLocale[ULOC_FULLNAME_CAPACITY];
const UChar* currPattern;
UnicodeString currencySpcBeforeSym[UNUM_CURRENCY_SPACING_COUNT];
UnicodeString currencySpcAfterSym[UNUM_CURRENCY_SPACING_COUNT];
Reported by FlawFinder.
Line: 423
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
Locale locale;
char actualLocale[ULOC_FULLNAME_CAPACITY];
char validLocale[ULOC_FULLNAME_CAPACITY];
const UChar* currPattern;
UnicodeString currencySpcBeforeSym[UNUM_CURRENCY_SPACING_COUNT];
UnicodeString currencySpcAfterSym[UNUM_CURRENCY_SPACING_COUNT];
UBool fIsCustomCurrencySymbol;
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/unicode/dtfmtsym.h
2 issues
Line: 893
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
/** valid/actual locale information
* these are always ICU locales, so the length should not be a problem
*/
char validLocale[ULOC_FULLNAME_CAPACITY];
char actualLocale[ULOC_FULLNAME_CAPACITY];
DateFormatSymbols(); // default constructor not implemented
/**
Reported by FlawFinder.
Line: 894
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
* these are always ICU locales, so the length should not be a problem
*/
char validLocale[ULOC_FULLNAME_CAPACITY];
char actualLocale[ULOC_FULLNAME_CAPACITY];
DateFormatSymbols(); // default constructor not implemented
/**
* Called by the constructors to actually load data from the resources
Reported by FlawFinder.
src/third_party/mozjs-60/extract/mfbt/Span.h
2 issues
Line: 883
Column: 41
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
operator==(const Span<ElementType, FirstExtent>& l,
const Span<ElementType, SecondExtent>& r)
{
return (l.size() == r.size()) && std::equal(l.begin(), l.end(), r.begin());
}
template<class ElementType, size_t Extent>
inline constexpr bool
operator!=(const Span<ElementType, Extent>& l,
Reported by FlawFinder.
Line: 1069
Column: 49
CWE codes:
126
inline Span<const char>
MakeStringSpan(const char* aZeroTerminated)
{
return Span<const char>(aZeroTerminated, std::strlen(aZeroTerminated));
}
/**
* Create span from UTF-16 C string.
*/
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/unicode/format.h
2 issues
Line: 296
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
UParseError& parseError);
private:
char actualLocale[ULOC_FULLNAME_CAPACITY];
char validLocale[ULOC_FULLNAME_CAPACITY];
};
U_NAMESPACE_END
Reported by FlawFinder.
Line: 297
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
private:
char actualLocale[ULOC_FULLNAME_CAPACITY];
char validLocale[ULOC_FULLNAME_CAPACITY];
};
U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_FORMATTING */
Reported by FlawFinder.
src/third_party/mozjs-60/extract/mfbt/double-conversion/double-conversion/strtod.cc
2 issues
Line: 449
Column: 3
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
}
double Strtod(Vector<const char> buffer, int exponent) {
char copy_buffer[kMaxSignificantDecimalDigits];
Vector<const char> trimmed;
int updated_exponent;
TrimAndCut(buffer, exponent, copy_buffer, kMaxSignificantDecimalDigits,
&trimmed, &updated_exponent);
exponent = updated_exponent;
Reported by FlawFinder.
Line: 475
Column: 3
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
}
float Strtof(Vector<const char> buffer, int exponent) {
char copy_buffer[kMaxSignificantDecimalDigits];
Vector<const char> trimmed;
int updated_exponent;
TrimAndCut(buffer, exponent, copy_buffer, kMaxSignificantDecimalDigits,
&trimmed, &updated_exponent);
exponent = updated_exponent;
Reported by FlawFinder.
src/third_party/boost/boost/date_time/posix_time/time_formatters_limited.hpp
2 issues
Line: 64
Column: 7
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
boost::int64_t frac_sec =
date_time::absolute_value(td.fractional_seconds());
// JDG [7/6/02 VC++ compatibility]
char buff[32];
_i64toa(frac_sec, buff, 10);
#else
time_duration::fractional_seconds_type frac_sec =
date_time::absolute_value(td.fractional_seconds());
#endif
Reported by FlawFinder.
Line: 127
Column: 7
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
boost::int64_t frac_sec =
date_time::absolute_value(td.fractional_seconds());
// JDG [7/6/02 VC++ compatibility]
char buff[32];
_i64toa(frac_sec, buff, 10);
#else
time_duration::fractional_seconds_type frac_sec =
date_time::absolute_value(td.fractional_seconds());
#endif
Reported by FlawFinder.
src/third_party/mozjs-60/extract/mozglue/misc/TimeStamp_windows.cpp
2 issues
Line: 486
Column: 19
CWE codes:
807
20
Suggestion:
Check environment variables carefully before using them
bool forceGTC = false;
bool forceQPC = false;
char* modevar = getenv("MOZ_TIMESTAMP_MODE");
if (modevar) {
if (!strcmp(modevar, "QPC")) {
forceQPC = true;
} else if (!strcmp(modevar, "GTC")) {
forceGTC = true;
Reported by FlawFinder.
Line: 437
Column: 7
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
struct
{
int nIds;
char cpuString[12];
};
} cpuInfo;
__cpuid(cpuInfo.regs, 0);
// Only allow Intel or AMD CPUs for now.
Reported by FlawFinder.
src/third_party/mozjs-60/include/Printf.h
2 issues
Line: 179
Column: 9
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
}
/* Copy data */
memcpy(mCur, sp, len);
mCur += len;
MOZ_ASSERT(size_t(mCur - mBase) <= mMaxlen);
return true;
}
Reported by FlawFinder.
Line: 135
Column: 26
CWE codes:
126
{
public:
explicit SprintfState(char* base)
: mMaxlen(base ? strlen(base) : 0)
, mBase(base)
, mCur(base ? base + mMaxlen : 0)
{
}
Reported by FlawFinder.