The following issues were found
src/third_party/mozjs-60/extract/js/src/vm/NativeObject-inl.h
2 issues
Line: 156
Column: 9
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
src[i]);
}
} else {
memcpy(reinterpret_cast<Value*>(&elements_[dstStart]), src,
count * sizeof(Value));
elementsRangeWriteBarrierPost(dstStart, count);
}
}
Reported by FlawFinder.
Line: 186
Column: 5
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
checkStoredValue(src[i]);
#endif
memcpy(reinterpret_cast<Value*>(elements_), src, count * sizeof(Value));
elementsRangeWriteBarrierPost(0, count);
}
inline bool
NativeObject::tryShiftDenseElements(uint32_t count)
Reported by FlawFinder.
src/third_party/boost/boost/asio/detail/winrt_utils.hpp
2 issues
Line: 72
Column: 10
CWE codes:
190
Suggestion:
If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended)
inline int integer(Platform::String^ from)
{
return _wtoi(from->Data());
}
template <typename T>
inline Windows::Networking::HostName^ host_name(const T& from)
{
Reported by FlawFinder.
Line: 43
Column: 38
CWE codes:
126
inline Platform::String^ string(const char* from)
{
std::wstring tmp(from, from + std::strlen(from));
return ref new Platform::String(tmp.c_str());
}
inline Platform::String^ string(const std::string& from)
{
Reported by FlawFinder.
src/third_party/boost/boost/xpressive/regex_compiler.hpp
2 issues
Line: 379
Column: 55
CWE codes:
362/367!
Suggestion:
Set up the correct permissions (e.g., using setuid()) and try to open the file directly
case token_rule_ref:
{
typedef detail::core_access<BidiIter> access;
BOOST_XPR_ENSURE_
(
begin != end && token_group_end == this->traits_.get_token(begin, end)
, error_paren
, "mismatched parenthesis"
Reported by FlawFinder.
Line: 387
Column: 66
CWE codes:
362/367!
Suggestion:
Set up the correct permissions (e.g., using setuid()) and try to open the file directly
, "mismatched parenthesis"
);
basic_regex<BidiIter> &rex = this->rules_[name];
shared_ptr<detail::regex_impl<BidiIter> > impl = access::get_regex_impl(rex);
this->self_->track_reference(*impl);
return detail::make_dynamic<BidiIter>(detail::regex_byref_matcher<BidiIter>(impl));
}
case token_named_mark:
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/gender.cpp
2 issues
Line: 148
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
const UChar* s = ures_getStringByKey(locRes.getAlias(), curLocaleName, &resLen, &key_status);
if (s == NULL) {
key_status = U_ZERO_ERROR;
char parentLocaleName[ULOC_FULLNAME_CAPACITY];
uprv_strcpy(parentLocaleName, curLocaleName);
while (s == NULL && uloc_getParent(parentLocaleName, parentLocaleName, ULOC_FULLNAME_CAPACITY, &key_status) > 0) {
key_status = U_ZERO_ERROR;
resLen = 0;
s = ures_getStringByKey(locRes.getAlias(), parentLocaleName, &resLen, &key_status);
Reported by FlawFinder.
Line: 160
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
if (s == NULL) {
return &gObjs[NEUTRAL];
}
char type_str[256];
u_UCharsToChars(s, type_str, resLen + 1);
if (uprv_strcmp(type_str, gNeutralStr) == 0) {
return &gObjs[NEUTRAL];
}
if (uprv_strcmp(type_str, gMixedNeutralStr) == 0) {
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/gregoimp.cpp
2 issues
Line: 241
CWE codes:
685
if(fBundle) {
#if defined (U_DEBUG_CALDATA)
fprintf(stderr, "%p: //\n");
#endif
fFillin = ures_getByKeyWithFallback(fBundle, key, fFillin, &status);
fOtherFillin = ures_getByKeyWithFallback(fFillin, U_FORMAT_KEY, fOtherFillin, &status);
fFillin = ures_getByKeyWithFallback(fOtherFillin, subKey, fFillin, &status);
#if defined (U_DEBUG_CALDATA)
Reported by Cppcheck.
Line: 303
CWE codes:
685
if(fBundle) {
#if defined (U_DEBUG_CALDATA)
fprintf(stderr, "%p: //\n");
#endif
fFillin = ures_getByKeyWithFallback(fBundle, key, fFillin, &status);
fOtherFillin = ures_getByKeyWithFallback(fFillin, contextKey, fOtherFillin, &status);
fFillin = ures_getByKeyWithFallback(fOtherFillin, subKey, fFillin, &status);
#if defined (U_DEBUG_CALDATA)
Reported by Cppcheck.
src/third_party/icu4c-57.1/source/i18n/islamcal.cpp
2 issues
Line: 45
CWE codes:
664
va_start(ap, pat);
vfprintf(stderr, pat, ap);
fflush(stderr);
}
// must use double parens, i.e.: U_DEBUG_ISLAMCAL_MSG(("four is: %d",4));
#define U_DEBUG_ISLAMCAL_MSG(x) {debug_islamcal_loc(__FILE__,__LINE__);debug_islamcal_msg x;}
#else
#define U_DEBUG_ISLAMCAL_MSG(x)
#endif
Reported by Cppcheck.
Line: 43
Column: 5
CWE codes:
134
Suggestion:
Use a constant for the format specification
{
va_list ap;
va_start(ap, pat);
vfprintf(stderr, pat, ap);
fflush(stderr);
}
// must use double parens, i.e.: U_DEBUG_ISLAMCAL_MSG(("four is: %d",4));
#define U_DEBUG_ISLAMCAL_MSG(x) {debug_islamcal_loc(__FILE__,__LINE__);debug_islamcal_msg x;}
#else
Reported by FlawFinder.
src/third_party/boost/libs/log/src/process_name.cpp
2 issues
Line: 131
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 defined(KERN_PROC_PATHNAME)
int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
char buf[PATH_MAX] = {};
size_t cb = sizeof(buf);
if (sysctl(mib, 4, buf, &cb, NULL, 0) == 0)
return filesystem::path(buf).filename().string();
#endif
Reported by FlawFinder.
Line: 92
Column: 29
CWE codes:
126
uint32_t size = static_cast< uint32_t >(buf.size());
if (_NSGetExecutablePath(&buf[0], &size) == 0)
{
buf.resize(std::strlen(&buf[0]));
break;
}
buf.resize(size);
}
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/nfrs.cpp
2 issues
Line: 736
Column: 13
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
int64_t ub = util64_fromDouble(upperBound);
#ifdef RBNF_DEBUG
{
char ubstr[64];
util64_toa(ub, ubstr, 64);
char ubstrhex[64];
util64_toa(ub, ubstrhex, 64, 16);
fprintf(stderr, "ub: %g, i64: %s (%s)\n", upperBound, ubstr, ubstrhex);
}
Reported by FlawFinder.
Line: 738
Column: 13
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
{
char ubstr[64];
util64_toa(ub, ubstr, 64);
char ubstrhex[64];
util64_toa(ub, ubstrhex, 64, 16);
fprintf(stderr, "ub: %g, i64: %s (%s)\n", upperBound, ubstr, ubstrhex);
}
#endif
for (int32_t i = rules.size(); --i >= 0 && highWaterMark.getIndex() < text.length();) {
Reported by FlawFinder.
src/third_party/icu4c-57.1/source/i18n/numsys.cpp
2 issues
Line: 48
static const char gLatn[] = "latn";
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(NumberingSystem)
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(NumsysNameEnumeration)
/**
* Default Constructor.
*
Reported by Cppcheck.
Line: 114
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
UBool nsResolved = TRUE;
UBool usingFallback = FALSE;
char buffer[ULOC_KEYWORDS_CAPACITY];
int32_t count = inLocale.getKeywordValue("numbers",buffer, sizeof(buffer),status);
if ( count > 0 ) { // @numbers keyword was specified in the locale
buffer[count] = '\0'; // Make sure it is null terminated.
if ( !uprv_strcmp(buffer,gDefault) || !uprv_strcmp(buffer,gNative) ||
!uprv_strcmp(buffer,gTraditional) || !uprv_strcmp(buffer,gFinance)) {
Reported by FlawFinder.
src/third_party/boost/boost/interprocess/sync/windows/named_mutex.hpp
2 issues
Line: 100
Column: 20
CWE codes:
362
virtual void *buffer_to_store_init_data_from_file()
{ return 0; }
virtual bool open(create_enum_t, const char *id_name)
{
std::string aux_str = "Global\\bipc.mut.";
aux_str += id_name;
//
permissions mut_perm;
Reported by FlawFinder.
Line: 110
Column: 20
CWE codes:
362
return m_mtx_wrapper.open_or_create(aux_str.c_str(), mut_perm);
}
virtual bool open(create_enum_t, const wchar_t *id_name)
{
std::wstring aux_str = L"Global\\bipc.mut.";
aux_str += id_name;
//
permissions mut_perm;
Reported by FlawFinder.