The following issues were found
src/third_party/scons-3.1.2/scons-local-3.1.2/SCons/Tool/fortran.py
10 issues
Line: 36
Column: 1
__revision__ = "src/engine/SCons/Tool/fortran.py bee7caf9defd6e108fc2998a2520ddb36a967691 2019-12-17 02:07:09 bdeegan"
import re
import SCons.Action
import SCons.Defaults
import SCons.Scanner.Fortran
import SCons.Tool
Reported by Pylint.
Line: 38
Column: 1
import re
import SCons.Action
import SCons.Defaults
import SCons.Scanner.Fortran
import SCons.Tool
import SCons.Util
from SCons.Tool.FortranCommon import add_all_to_env, add_fortran_to_env
Reported by Pylint.
Line: 39
Column: 1
import re
import SCons.Action
import SCons.Defaults
import SCons.Scanner.Fortran
import SCons.Tool
import SCons.Util
from SCons.Tool.FortranCommon import add_all_to_env, add_fortran_to_env
Reported by Pylint.
Line: 40
Column: 1
import SCons.Action
import SCons.Defaults
import SCons.Scanner.Fortran
import SCons.Tool
import SCons.Util
from SCons.Tool.FortranCommon import add_all_to_env, add_fortran_to_env
compilers = ['f95', 'f90', 'f77']
Reported by Pylint.
Line: 41
Column: 1
import SCons.Action
import SCons.Defaults
import SCons.Scanner.Fortran
import SCons.Tool
import SCons.Util
from SCons.Tool.FortranCommon import add_all_to_env, add_fortran_to_env
compilers = ['f95', 'f90', 'f77']
Reported by Pylint.
Line: 42
Column: 1
import SCons.Defaults
import SCons.Scanner.Fortran
import SCons.Tool
import SCons.Util
from SCons.Tool.FortranCommon import add_all_to_env, add_fortran_to_env
compilers = ['f95', 'f90', 'f77']
def generate(env):
Reported by Pylint.
Line: 34
Column: 1
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
__revision__ = "src/engine/SCons/Tool/fortran.py bee7caf9defd6e108fc2998a2520ddb36a967691 2019-12-17 02:07:09 bdeegan"
import re
import SCons.Action
import SCons.Defaults
Reported by Pylint.
Line: 47
Column: 1
compilers = ['f95', 'f90', 'f77']
def generate(env):
add_all_to_env(env)
add_fortran_to_env(env)
fc = env.Detect(compilers) or 'f77'
env['SHFORTRAN'] = fc
Reported by Pylint.
Line: 51
Column: 5
add_all_to_env(env)
add_fortran_to_env(env)
fc = env.Detect(compilers) or 'f77'
env['SHFORTRAN'] = fc
env['FORTRAN'] = fc
def exists(env):
return env.Detect(compilers)
Reported by Pylint.
Line: 55
Column: 1
env['SHFORTRAN'] = fc
env['FORTRAN'] = fc
def exists(env):
return env.Detect(compilers)
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
Reported by Pylint.
src/third_party/wiredtiger/test/suite/test_rollback_to_stable06.py
10 issues
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
from wiredtiger import stat
from wtdataset import SimpleDataSet
from wtscenario import make_scenarios
from test_rollback_to_stable01 import test_rollback_to_stable_base
# test_rollback_to_stable06.py
Reported by Pylint.
Line: 57
Column: 5
scenarios = make_scenarios(key_format_values, in_memory_values, prepare_values)
def conn_config(self):
config = 'cache_size=50MB,statistics=(all)'
if self.in_memory:
config += ',in_memory=true'
else:
config += ',log=(enabled),in_memory=false'
Reported by Pylint.
Line: 126
Column: 5
self.assertGreaterEqual(upd_aborted + hs_removed + keys_removed, nrows * 4)
if __name__ == '__main__':
wttest.run()
Reported by Pylint.
Line: 1
Column: 1
#!/usr/bin/env python
#
# Public Domain 2014-present MongoDB, Inc.
# Public Domain 2008-2014 WiredTiger, Inc.
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
Reported by Pylint.
Line: 37
Column: 1
# test_rollback_to_stable06.py
# Test that rollback to stable removes all keys when the stable timestamp is earlier than
# all commit timestamps.
class test_rollback_to_stable06(test_rollback_to_stable_base):
session_config = 'isolation=snapshot'
key_format_values = [
('column', dict(key_format='r')),
('integer_row', dict(key_format='i')),
Reported by Pylint.
Line: 37
Column: 1
# test_rollback_to_stable06.py
# Test that rollback to stable removes all keys when the stable timestamp is earlier than
# all commit timestamps.
class test_rollback_to_stable06(test_rollback_to_stable_base):
session_config = 'isolation=snapshot'
key_format_values = [
('column', dict(key_format='r')),
('integer_row', dict(key_format='i')),
Reported by Pylint.
Line: 57
Column: 5
scenarios = make_scenarios(key_format_values, in_memory_values, prepare_values)
def conn_config(self):
config = 'cache_size=50MB,statistics=(all)'
if self.in_memory:
config += ',in_memory=true'
else:
config += ',log=(enabled),in_memory=false'
Reported by Pylint.
Line: 65
Column: 5
config += ',log=(enabled),in_memory=false'
return config
def test_rollback_to_stable(self):
nrows = 1000
# Create a table without logging.
uri = "table:rollback_to_stable06"
ds = SimpleDataSet(
Reported by Pylint.
Line: 70
Column: 9
# Create a table without logging.
uri = "table:rollback_to_stable06"
ds = SimpleDataSet(
self, uri, 0, key_format=self.key_format, value_format="S", config='log=(enabled=false)')
ds.populate()
# Pin oldest and stable to timestamp 10.
self.conn.set_timestamp('oldest_timestamp=' + self.timestamp_str(10) +
Reported by Pylint.
Line: 71
Column: 1
# Create a table without logging.
uri = "table:rollback_to_stable06"
ds = SimpleDataSet(
self, uri, 0, key_format=self.key_format, value_format="S", config='log=(enabled=false)')
ds.populate()
# Pin oldest and stable to timestamp 10.
self.conn.set_timestamp('oldest_timestamp=' + self.timestamp_str(10) +
',stable_timestamp=' + self.timestamp_str(10))
Reported by Pylint.
src/third_party/wiredtiger/test/suite/test_upgrade.py
10 issues
Line: 30
Column: 1
# OTHER DEALINGS IN THE SOFTWARE.
import os, time
import wiredtiger, wttest
from wtdataset import SimpleDataSet, ComplexDataSet
from wtscenario import make_scenarios
# test_upgrade.py
# session level upgrade operation
Reported by Pylint.
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import os, time
import wiredtiger, wttest
from wtdataset import SimpleDataSet, ComplexDataSet
from wtscenario import make_scenarios
# test_upgrade.py
Reported by Pylint.
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import os, time
import wiredtiger, wttest
from wtdataset import SimpleDataSet, ComplexDataSet
from wtscenario import make_scenarios
# test_upgrade.py
Reported by Pylint.
Line: 1
Column: 1
#!/usr/bin/env python
#
# Public Domain 2014-present MongoDB, Inc.
# Public Domain 2008-2014 WiredTiger, Inc.
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
Reported by Pylint.
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import os, time
import wiredtiger, wttest
from wtdataset import SimpleDataSet, ComplexDataSet
from wtscenario import make_scenarios
# test_upgrade.py
Reported by Pylint.
Line: 30
Column: 1
# OTHER DEALINGS IN THE SOFTWARE.
import os, time
import wiredtiger, wttest
from wtdataset import SimpleDataSet, ComplexDataSet
from wtscenario import make_scenarios
# test_upgrade.py
# session level upgrade operation
Reported by Pylint.
Line: 36
Column: 1
# test_upgrade.py
# session level upgrade operation
class test_upgrade(wttest.WiredTigerTestCase):
name = 'test_upgrade'
scenarios = make_scenarios([
('file', dict(uri='file:')),
('table', dict(uri='table:'))
Reported by Pylint.
Line: 36
Column: 1
# test_upgrade.py
# session level upgrade operation
class test_upgrade(wttest.WiredTigerTestCase):
name = 'test_upgrade'
scenarios = make_scenarios([
('file', dict(uri='file:')),
('table', dict(uri='table:'))
Reported by Pylint.
Line: 45
Column: 5
])
# Populate an object, then upgrade it.
def upgrade(self, dataset, with_cursor):
uri = self.uri + self.name
dataset(self, uri, 10).populate()
# Open cursors should cause failure.
if with_cursor:
Reported by Pylint.
Line: 60
Column: 5
self.session.drop(uri)
# Test upgrade of an object.
def test_upgrade(self):
# Simple file or table object.
self.upgrade(SimpleDataSet, False)
self.upgrade(SimpleDataSet, True)
# A complex, multi-file table object.
Reported by Pylint.
src/third_party/wiredtiger/test/suite/test_hs22.py
10 issues
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import wiredtiger, wttest
from wtscenario import make_scenarios
# test_hs22.py
# Test the case that out of order timestamp
# update is followed by a tombstone.
Reported by Pylint.
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import wiredtiger, wttest
from wtscenario import make_scenarios
# test_hs22.py
# Test the case that out of order timestamp
# update is followed by a tombstone.
Reported by Pylint.
Line: 1
Column: 1
#!/usr/bin/env python
#
# Public Domain 2014-present MongoDB, Inc.
# Public Domain 2008-2014 WiredTiger, Inc.
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
Reported by Pylint.
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import wiredtiger, wttest
from wtscenario import make_scenarios
# test_hs22.py
# Test the case that out of order timestamp
# update is followed by a tombstone.
Reported by Pylint.
Line: 35
Column: 1
# test_hs22.py
# Test the case that out of order timestamp
# update is followed by a tombstone.
class test_hs22(wttest.WiredTigerTestCase):
conn_config = 'cache_size=50MB'
session_config = 'isolation=snapshot'
key_format_values = [
('column', dict(key_format='r', key1=1, key2=2)),
Reported by Pylint.
Line: 35
Column: 1
# test_hs22.py
# Test the case that out of order timestamp
# update is followed by a tombstone.
class test_hs22(wttest.WiredTigerTestCase):
conn_config = 'cache_size=50MB'
session_config = 'isolation=snapshot'
key_format_values = [
('column', dict(key_format='r', key1=1, key2=2)),
Reported by Pylint.
Line: 46
Column: 5
scenarios = make_scenarios(key_format_values)
def test_onpage_out_of_order_timestamp_update(self):
uri = 'table:test_hs22'
self.session.create(uri, 'key_format={},value_format=S'.format(self.key_format))
cursor = self.session.open_cursor(uri)
self.conn.set_timestamp(
'oldest_timestamp=' + self.timestamp_str(1) + ',stable_timestamp=' + self.timestamp_str(1))
Reported by Pylint.
Line: 51
Column: 1
self.session.create(uri, 'key_format={},value_format=S'.format(self.key_format))
cursor = self.session.open_cursor(uri)
self.conn.set_timestamp(
'oldest_timestamp=' + self.timestamp_str(1) + ',stable_timestamp=' + self.timestamp_str(1))
key1 = self.key1
key2 = self.key2
value1 = 'a'
Reported by Pylint.
Line: 104
Column: 5
self.assertEqual(cursor[key1], value2)
self.session.rollback_transaction()
def test_out_of_order_timestamp_update_newer_than_tombstone(self):
uri = 'table:test_hs22'
self.session.create(uri, 'key_format={},value_format=S'.format(self.key_format))
cursor = self.session.open_cursor(uri)
self.conn.set_timestamp(
'oldest_timestamp=' + self.timestamp_str(1) + ',stable_timestamp=' + self.timestamp_str(1))
Reported by Pylint.
Line: 109
Column: 1
self.session.create(uri, 'key_format={},value_format=S'.format(self.key_format))
cursor = self.session.open_cursor(uri)
self.conn.set_timestamp(
'oldest_timestamp=' + self.timestamp_str(1) + ',stable_timestamp=' + self.timestamp_str(1))
key1 = self.key1
key2 = self.key2
value1 = 'a'
Reported by Pylint.
src/third_party/wiredtiger/test/format/salvage.c
10 issues
Line: 96
Column: 16
CWE codes:
78
Suggestion:
try using a library call that implements the same functionality if available
/*
* Save a copy of the corrupted file so we can replay the salvage step as necessary.
*/
if ((ret = system(copycmd)) != 0)
testutil_die(ret, "salvage corrupt copy step failed");
return (1);
}
Reported by FlawFinder.
Line: 135
Column: 16
CWE codes:
78
Suggestion:
try using a library call that implements the same functionality if available
len = strlen(g.home) + strlen(SALVAGE_COPY_CMD) + 1;
cmd = dmalloc(len);
testutil_check(__wt_snprintf(cmd, len, SALVAGE_COPY_CMD, g.home));
if ((ret = system(cmd)) != 0)
testutil_die(ret, "salvage copy (\"%s\"), failed", cmd);
free(cmd);
/* Salvage, then verify. */
wts_open(g.home, &conn, &session, true);
Reported by FlawFinder.
Line: 43
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
wt_off_t offset;
size_t len, nw;
int fd, ret;
char copycmd[2 * 1024], path[1024];
const char *smash;
/*
* If it's a single Btree file (not LSM), open the file, and corrupt roughly 2% of the file at a
* random spot, including the beginning of the file and overlapping the end.
Reported by FlawFinder.
Line: 54
Column: 15
CWE codes:
362
* source is a table, we're looking for "wt.wt".
*/
testutil_check(__wt_snprintf(path, sizeof(path), "%s/%s", g.home, WT_NAME));
if ((fd = open(path, O_RDWR)) != -1) {
testutil_check(__wt_snprintf(copycmd, sizeof(copycmd),
"cp %s/%s %s/SALVAGE.copy/%s.corrupted", g.home, WT_NAME, g.home, WT_NAME));
goto found;
}
testutil_check(__wt_snprintf(path, sizeof(path), "%s/%s.wt", g.home, WT_NAME));
Reported by FlawFinder.
Line: 60
Column: 15
CWE codes:
362
goto found;
}
testutil_check(__wt_snprintf(path, sizeof(path), "%s/%s.wt", g.home, WT_NAME));
if ((fd = open(path, O_RDWR)) != -1) {
testutil_check(__wt_snprintf(copycmd, sizeof(copycmd),
"cp %s/%s.wt %s/SALVAGE.copy/%s.wt.corrupted", g.home, WT_NAME, g.home, WT_NAME));
goto found;
}
return (0);
Reported by FlawFinder.
Line: 74
Column: 15
CWE codes:
362
offset = mmrand(NULL, 0, (u_int)sb.st_size);
len = (size_t)(20 + (sb.st_size / 100) * 2);
testutil_check(__wt_snprintf(path, sizeof(path), "%s/SALVAGE.corrupt", g.home));
if ((fp = fopen(path, "w")) == NULL)
testutil_die(errno, "salvage-corrupt: open: %s", path);
(void)fprintf(fp, "salvage-corrupt: offset %" PRIuMAX ", length %" WT_SIZET_FMT "\n",
(uintmax_t)offset, len);
fclose_and_clear(&fp);
Reported by FlawFinder.
Line: 85
Column: 29
CWE codes:
126
smash = "!!! memory corrupted by format to test salvage ";
for (; len > 0; len -= nw) {
nw = (size_t)(len > strlen(smash) ? strlen(smash) : len);
if (write(fd, smash, nw) == -1)
testutil_die(errno, "salvage-corrupt: write");
}
if (close(fd) == -1)
Reported by FlawFinder.
Line: 85
Column: 45
CWE codes:
126
smash = "!!! memory corrupted by format to test salvage ";
for (; len > 0; len -= nw) {
nw = (size_t)(len > strlen(smash) ? strlen(smash) : len);
if (write(fd, smash, nw) == -1)
testutil_die(errno, "salvage-corrupt: write");
}
if (close(fd) == -1)
Reported by FlawFinder.
Line: 132
Column: 11
CWE codes:
126
track("salvage", 0ULL, NULL);
/* Save a copy of the interesting files so we can replay the salvage step as necessary. */
len = strlen(g.home) + strlen(SALVAGE_COPY_CMD) + 1;
cmd = dmalloc(len);
testutil_check(__wt_snprintf(cmd, len, SALVAGE_COPY_CMD, g.home));
if ((ret = system(cmd)) != 0)
testutil_die(ret, "salvage copy (\"%s\"), failed", cmd);
free(cmd);
Reported by FlawFinder.
Line: 132
Column: 28
CWE codes:
126
track("salvage", 0ULL, NULL);
/* Save a copy of the interesting files so we can replay the salvage step as necessary. */
len = strlen(g.home) + strlen(SALVAGE_COPY_CMD) + 1;
cmd = dmalloc(len);
testutil_check(__wt_snprintf(cmd, len, SALVAGE_COPY_CMD, g.home));
if ((ret = system(cmd)) != 0)
testutil_die(ret, "salvage copy (\"%s\"), failed", cmd);
free(cmd);
Reported by FlawFinder.
src/third_party/abseil-cpp-master/abseil-cpp/absl/base/internal/low_level_alloc.cc
10 issues
Line: 140
Column: 67
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
// term, so first-fit searches touch fewer nodes. "level" is clipped so
// level<kMaxLevel and next[level-1] will fit in the node.
// 0 < LLA_SkiplistLevels(x,y,false) <= LLA_SkiplistLevels(x,y,true) < kMaxLevel
static int LLA_SkiplistLevels(size_t size, size_t base, uint32_t *random) {
// max_fit is the maximum number of levels that will fit in a node for the
// given size. We can't return more than max_fit, no matter what the
// random number generator says.
size_t max_fit = (size - offsetof(AllocList, next)) / sizeof(AllocList *);
int level = IntLog2(size, base) + (random != nullptr ? Random(random) : 1);
Reported by FlawFinder.
Line: 145
Column: 65
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
// given size. We can't return more than max_fit, no matter what the
// random number generator says.
size_t max_fit = (size - offsetof(AllocList, next)) / sizeof(AllocList *);
int level = IntLog2(size, base) + (random != nullptr ? Random(random) : 1);
if (static_cast<size_t>(level) > max_fit) level = static_cast<int>(max_fit);
if (level > kMaxLevel-1) level = kMaxLevel - 1;
ABSL_RAW_CHECK(level >= 1, "block not big enough for even one level");
return level;
}
Reported by FlawFinder.
Line: 145
Column: 38
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
// given size. We can't return more than max_fit, no matter what the
// random number generator says.
size_t max_fit = (size - offsetof(AllocList, next)) / sizeof(AllocList *);
int level = IntLog2(size, base) + (random != nullptr ? Random(random) : 1);
if (static_cast<size_t>(level) > max_fit) level = static_cast<int>(max_fit);
if (level > kMaxLevel-1) level = kMaxLevel - 1;
ABSL_RAW_CHECK(level >= 1, "block not big enough for even one level");
return level;
}
Reported by FlawFinder.
Line: 219
Column: 12
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
// Smallest allocation block size
const size_t min_size;
// PRNG state
uint32_t random ABSL_GUARDED_BY(mu);
};
namespace {
// Static storage space for the lazily-constructed, default global arena
// instances. We require this space because the whole point of LowLevelAlloc
Reported by FlawFinder.
Line: 357
Column: 7
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
pagesize(GetPageSize()),
round_up(RoundedUpBlockSize()),
min_size(2 * round_up),
random(0) {
freelist.header.size = 0;
freelist.header.magic =
Magic(kMagicUnallocated, &freelist.header);
freelist.header.arena = this;
freelist.levels = 0;
Reported by FlawFinder.
Line: 484
Column: 44
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
LLA_SkiplistDelete(&arena->freelist, n, prev);
LLA_SkiplistDelete(&arena->freelist, a, prev);
a->levels = LLA_SkiplistLevels(a->header.size, arena->min_size,
&arena->random);
LLA_SkiplistInsert(&arena->freelist, a, prev);
}
}
// Adds block at location "v" to the free list
Reported by FlawFinder.
Line: 499
Column: 42
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
ABSL_RAW_CHECK(f->header.arena == arena,
"bad arena pointer in AddToFreelist()");
f->levels = LLA_SkiplistLevels(f->header.size, arena->min_size,
&arena->random);
AllocList *prev[kMaxLevel];
LLA_SkiplistInsert(&arena->freelist, f, prev);
f->header.magic = Magic(kMagicUnallocated, &f->header);
Coalesce(f); // maybe coalesce with successor
Coalesce(prev[0]); // maybe coalesce with predecessor
Reported by FlawFinder.
Line: 226
Column: 40
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
// Static storage space for the lazily-constructed, default global arena
// instances. We require this space because the whole point of LowLevelAlloc
// is to avoid relying on malloc/new.
alignas(LowLevelAlloc::Arena) unsigned char default_arena_storage[sizeof(
LowLevelAlloc::Arena)];
alignas(LowLevelAlloc::Arena) unsigned char unhooked_arena_storage[sizeof(
LowLevelAlloc::Arena)];
#ifndef ABSL_LOW_LEVEL_ALLOC_ASYNC_SIGNAL_SAFE_MISSING
alignas(
Reported by FlawFinder.
Line: 228
Column: 40
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
// is to avoid relying on malloc/new.
alignas(LowLevelAlloc::Arena) unsigned char default_arena_storage[sizeof(
LowLevelAlloc::Arena)];
alignas(LowLevelAlloc::Arena) unsigned char unhooked_arena_storage[sizeof(
LowLevelAlloc::Arena)];
#ifndef ABSL_LOW_LEVEL_ALLOC_ASYNC_SIGNAL_SAFE_MISSING
alignas(
LowLevelAlloc::Arena) unsigned char unhooked_async_sig_safe_arena_storage
[sizeof(LowLevelAlloc::Arena)];
Reported by FlawFinder.
Line: 232
Column: 36
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
LowLevelAlloc::Arena)];
#ifndef ABSL_LOW_LEVEL_ALLOC_ASYNC_SIGNAL_SAFE_MISSING
alignas(
LowLevelAlloc::Arena) unsigned char unhooked_async_sig_safe_arena_storage
[sizeof(LowLevelAlloc::Arena)];
#endif
// We must use LowLevelCallOnce here to construct the global arenas, rather than
// using function-level statics, to avoid recursively invoking the scheduler.
Reported by FlawFinder.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/str_format_test.cc
10 issues
Line: 35
using FormatEntryPointTest = ::testing::Test;
TEST_F(FormatEntryPointTest, Format) {
std::string sink;
EXPECT_TRUE(Format(&sink, "A format %d", 123));
EXPECT_EQ("A format 123", sink);
sink.clear();
Reported by Cppcheck.
Line: 64
Column: 5
CWE codes:
134
Suggestion:
Use a constant for the format specification
EXPECT_TRUE(FormatUntyped(&actual, format, args));
char buf[4096]{};
snprintf(buf, sizeof(buf), fmt, 123);
EXPECT_EQ(
str_format_internal::FormatPack(
str_format_internal::UntypedFormatSpecImpl::Extract(format), args),
buf);
EXPECT_EQ(actual, buf);
Reported by FlawFinder.
Line: 185
Column: 22
CWE codes:
134
Suggestion:
Use a constant for the format specification
ParsedFormat<'d', 'u', 'c', 's', 'f', 'g'>::NewAllowIgnored(fmt);
std::ostringstream oss;
oss << StreamFormat(*parsed, 123, 3, 49, "multistreaming!!!", 1.01, 1.01);
int fmt_result = snprintf(&*buf.begin(), buf.size(), fmt.c_str(), //
123, 3, 49, "multistreaming!!!", 1.01, 1.01);
ASSERT_TRUE(oss) << fmt;
ASSERT_TRUE(fmt_result >= 0 && static_cast<size_t>(fmt_result) < buf.size())
<< fmt_result;
EXPECT_EQ(buf.c_str(), oss.str());
Reported by FlawFinder.
Line: 216
Column: 11
CWE codes:
134
Suggestion:
Use a constant for the format specification
buf.resize(128);
va_list va;
va_start(va, fmt);
int r = vsnprintf(&*buf.begin(), buf.size(), fmt, va);
va_end(va);
EXPECT_GE(r, 0);
EXPECT_LT(r, buf.size());
buf.resize(r);
return buf;
Reported by FlawFinder.
Line: 730
Column: 23
CWE codes:
120
AbslFormatConvert(const Point& p, const absl::FormatConversionSpec& spec,
absl::FormatSink* s) {
if (spec.conversion_char() == absl::FormatConversionChar::s) {
s->Append(absl::StrCat("x=", p.x, " y=", p.y));
} else {
s->Append(absl::StrCat(p.x, ",", p.y));
}
return {true};
}
Reported by FlawFinder.
Line: 732
Column: 23
CWE codes:
120
if (spec.conversion_char() == absl::FormatConversionChar::s) {
s->Append(absl::StrCat("x=", p.x, " y=", p.y));
} else {
s->Append(absl::StrCat(p.x, ",", p.y));
}
return {true};
}
int x = 10;
Reported by FlawFinder.
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
UntypedFormatSpec format(fmt);
EXPECT_TRUE(FormatUntyped(&actual, format, args));
char buf[4096]{};
snprintf(buf, sizeof(buf), fmt, 123);
EXPECT_EQ(
str_format_internal::FormatPack(
str_format_internal::UntypedFormatSpecImpl::Extract(format), args),
buf);
Reported by FlawFinder.
Line: 256
Column: 27
CWE codes:
377
// It will close the file on destruction.
class TempFile {
public:
TempFile() : file_(std::tmpfile()) {}
~TempFile() { std::fclose(file_); }
std::FILE* file() const { return file_; }
// Read the file into a string.
Reported by FlawFinder.
Line: 296
Column: 23
CWE codes:
362
#ifdef __GLIBC__
TEST_F(FormatEntryPointTest, FprintfTooLarge) {
std::FILE* f = std::fopen("/dev/null", "w");
int width = 2000000000;
errno = 0;
int result = FPrintF(f, "%*d %*d", width, 0, width, 0);
EXPECT_LT(result, 0);
EXPECT_EQ(errno, EFBIG);
Reported by FlawFinder.
Line: 324
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
#endif // __GLIBC__
TEST_F(FormatEntryPointTest, SNPrintF) {
char buffer[16];
int result =
SNPrintF(buffer, sizeof(buffer), "STRING: %s", std::string("ABC"));
EXPECT_EQ(result, 11);
EXPECT_EQ(std::string(buffer), "STRING: ABC");
Reported by FlawFinder.
src/third_party/wiredtiger/test/suite/test_hs13.py
10 issues
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import wiredtiger, wttest
from wtscenario import make_scenarios
# test_hs13.py
# Verify reverse modify traversal after eviction.
class test_hs13(wttest.WiredTigerTestCase):
Reported by Pylint.
Line: 48
Column: 9
create_params = 'value_format=S,key_format={}'.format(self.key_format)
value1 = 'a' * 10000
value2 = 'b' * 10000
value3 = 'e' * 10000
self.session.create(uri, create_params)
cursor = self.session.open_cursor(uri)
session2 = self.setUpSessionOpen(self.conn)
cursor2 = session2.open_cursor(uri)
Reported by Pylint.
Line: 70
Column: 9
session2.begin_transaction()
cursor2.set_key(1)
cursor2.search()
self.assertEquals(cursor2.get_value(), 'A' + value1)
session2.commit_transaction()
# Reset the cursor.
cursor2.reset()
Reported by Pylint.
Line: 96
Column: 9
# and evict the page.
evict_cursor = self.session.open_cursor(uri, None, "debug=(release_evict)")
evict_cursor.set_key(1)
self.assertEquals(evict_cursor.search(), 0)
evict_cursor.reset()
# Try to find the value we saw earlier.
cursor2.set_key(1)
cursor2.search()
Reported by Pylint.
Line: 102
Column: 9
# Try to find the value we saw earlier.
cursor2.set_key(1)
cursor2.search()
self.assertEquals(cursor2.get_value(), 'A' + value1)
if __name__ == '__main__':
wttest.run()
Reported by Pylint.
Line: 1
Column: 1
#!/usr/bin/env python
#
# Public Domain 2014-present MongoDB, Inc.
# Public Domain 2008-2014 WiredTiger, Inc.
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
Reported by Pylint.
Line: 29
Column: 1
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
import wiredtiger, wttest
from wtscenario import make_scenarios
# test_hs13.py
# Verify reverse modify traversal after eviction.
class test_hs13(wttest.WiredTigerTestCase):
Reported by Pylint.
Line: 34
Column: 1
# test_hs13.py
# Verify reverse modify traversal after eviction.
class test_hs13(wttest.WiredTigerTestCase):
conn_config = 'cache_size=2MB,eviction=(threads_max=1)'
session_config = 'isolation=snapshot'
key_format_values = [
('column', dict(key_format='r')),
('integer-row', dict(key_format='i'))
Reported by Pylint.
Line: 34
Column: 1
# test_hs13.py
# Verify reverse modify traversal after eviction.
class test_hs13(wttest.WiredTigerTestCase):
conn_config = 'cache_size=2MB,eviction=(threads_max=1)'
session_config = 'isolation=snapshot'
key_format_values = [
('column', dict(key_format='r')),
('integer-row', dict(key_format='i'))
Reported by Pylint.
Line: 43
Column: 5
]
scenarios = make_scenarios(key_format_values)
def test_reverse_modifies_constructed_after_eviction(self):
uri = "table:test_hs13"
create_params = 'value_format=S,key_format={}'.format(self.key_format)
value1 = 'a' * 10000
value2 = 'b' * 10000
value3 = 'e' * 10000
Reported by Pylint.
src/third_party/wiredtiger/dist/style.py
10 issues
Line: 11
Column: 37
# Display lines that could be joined.
def lines_could_join():
skip_re = re.compile(r'__asm__')
match_re = re.compile('(^[ \t].*\()\n^[ \t]*([^\n]*)', re.MULTILINE)
for f in source_files():
s = open(f, 'r').read()
if skip_re.search(s):
continue
Reported by Pylint.
Line: 1
Column: 1
#!/usr/bin/env python
# Check the style of WiredTiger C code.
from __future__ import print_function
import re, sys
from dist import source_files
# Display lines that could be joined.
def lines_could_join():
Reported by Pylint.
Line: 5
Column: 1
# Check the style of WiredTiger C code.
from __future__ import print_function
import re, sys
from dist import source_files
# Display lines that could be joined.
def lines_could_join():
skip_re = re.compile(r'__asm__')
Reported by Pylint.
Line: 9
Column: 1
from dist import source_files
# Display lines that could be joined.
def lines_could_join():
skip_re = re.compile(r'__asm__')
match_re = re.compile('(^[ \t].*\()\n^[ \t]*([^\n]*)', re.MULTILINE)
for f in source_files():
s = open(f, 'r').read()
if skip_re.search(s):
Reported by Pylint.
Line: 12
Column: 9
def lines_could_join():
skip_re = re.compile(r'__asm__')
match_re = re.compile('(^[ \t].*\()\n^[ \t]*([^\n]*)', re.MULTILINE)
for f in source_files():
s = open(f, 'r').read()
if skip_re.search(s):
continue
for m in match_re.finditer(s):
Reported by Pylint.
Line: 13
Column: 9
skip_re = re.compile(r'__asm__')
match_re = re.compile('(^[ \t].*\()\n^[ \t]*([^\n]*)', re.MULTILINE)
for f in source_files():
s = open(f, 'r').read()
if skip_re.search(s):
continue
for m in match_re.finditer(s):
if len(m.group(1).expandtabs()) + \
Reported by Pylint.
Line: 17
Column: 13
if skip_re.search(s):
continue
for m in match_re.finditer(s):
if len(m.group(1).expandtabs()) + \
len(m.group(2).expandtabs()) < 100:
print(f + ': lines may be combined: ')
print('\t' + m.group(1).lstrip() + m.group(2))
print()
Reported by Pylint.
Line: 20
Column: 1
for m in match_re.finditer(s):
if len(m.group(1).expandtabs()) + \
len(m.group(2).expandtabs()) < 100:
print(f + ': lines may be combined: ')
print('\t' + m.group(1).lstrip() + m.group(2))
print()
# Don't display lines that could be joined by default; in some cases, the code
# isn't maintained by WiredTiger, or the line splitting enhances readability.
Reported by Pylint.
Line: 21
Column: 1
if len(m.group(1).expandtabs()) + \
len(m.group(2).expandtabs()) < 100:
print(f + ': lines may be combined: ')
print('\t' + m.group(1).lstrip() + m.group(2))
print()
# Don't display lines that could be joined by default; in some cases, the code
# isn't maintained by WiredTiger, or the line splitting enhances readability.
if len(sys.argv) > 1:
Reported by Pylint.
Line: 22
Column: 1
len(m.group(2).expandtabs()) < 100:
print(f + ': lines may be combined: ')
print('\t' + m.group(1).lstrip() + m.group(2))
print()
# Don't display lines that could be joined by default; in some cases, the code
# isn't maintained by WiredTiger, or the line splitting enhances readability.
if len(sys.argv) > 1:
lines_could_join()
Reported by Pylint.
src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid32_to_uint32.c
10 issues
Line: 192
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = (C1 + 1/2 * 10^x) * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.
Line: 402
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = (C1 + 1/2 * 10^x) * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.
Line: 614
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = C1 * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
// C* = floor(C*) (logical right shift; C has p decimal digits,
// correct by Property 1)
Reported by Cppcheck.
Line: 772
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = C1 * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.
Line: 962
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = C1 * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.
Line: 1152
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = C1 * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.
Line: 1340
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = C1 * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
// C* = floor(C*) (logical right shift; C has p decimal digits,
// correct by Property 1)
Reported by Cppcheck.
Line: 1507
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = C1 * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.
Line: 1713
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = (C1 + 1/2 * 10^x) * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
// C* = floor(C*) (logical right shift; C has p decimal digits,
// correct by Property 1)
Reported by Cppcheck.
Line: 1903
CWE codes:
758
// kx = 10^(-x) = bid_ten2mk64[ind - 1]
// C* = (C1 + 1/2 * 10^x) * 10^(-x)
// the approximation of 10^(-x) was rounded up to 54 bits
__mul_64x64_to_128MACH (P128, (BID_UINT64)C1, bid_ten2mk64[ind - 1]);
Cstar = P128.w[1];
fstar.w[1] = P128.w[1] & bid_maskhigh128[ind - 1];
fstar.w[0] = P128.w[0];
// the top Ex bits of 10^(-x) are T* = bid_ten2mk128trunc[ind].w[0], e.g.
// if x=1, T*=bid_ten2mk128trunc[0].w[0]=0x1999999999999999
Reported by Cppcheck.