The following issues were found
aten/src/ATen/core/VariableFallbackKernel.cpp
1 issues
Line: 39
m.fallback(torch::CppFunction::makeFallthrough());
}
TORCH_LIBRARY_IMPL(_, AutogradCPU, m) {
m.fallback(torch::CppFunction::makeFallthrough());
}
TORCH_LIBRARY_IMPL(_, AutogradXPU, m) {
m.fallback(torch::CppFunction::makeFallthrough());
Reported by Cppcheck.
aten/src/ATen/autocast_mode.cpp
1 issues
Line: 298
m.fallback(torch::CppFunction::makeFallthrough());
}
TORCH_LIBRARY_IMPL(aten, Autocast, m) {
// lower_precision_fp
KERNEL(ADD_NS(_convolution), "_convolution.deprecated", Tensor (const Tensor &, const Tensor &, const c10::optional<Tensor>&, IntArrayRef, IntArrayRef, IntArrayRef, bool, IntArrayRef, int64_t, bool, bool, bool), lower_precision_fp)
KERNEL(ADD_NS(_convolution), "_convolution", Tensor (const Tensor &, const Tensor &, const c10::optional<Tensor>&, IntArrayRef, IntArrayRef, IntArrayRef, bool, IntArrayRef, int64_t, bool, bool, bool, bool), lower_precision_fp)
KERNEL(ADD_NS(_convolution_nogroup), "_convolution_nogroup", Tensor (const Tensor &, const Tensor &, const c10::optional<Tensor>&, IntArrayRef, IntArrayRef, IntArrayRef, bool, IntArrayRef), lower_precision_fp)
KERNEL(ADD_NS(conv1d), "conv1d", Tensor (const Tensor &, const Tensor &, const c10::optional<Tensor>&, IntArrayRef, IntArrayRef, IntArrayRef, int64_t), lower_precision_fp)
Reported by Cppcheck.
aten/src/ATen/VmapModeRegistrations.cpp
1 issues
Line: 33
"Please perform random operations outside of vmap as a workaround");
}
TORCH_LIBRARY_IMPL(_, VmapMode, m) {
m.fallback(torch::CppFunction::makeFallthrough());
}
TORCH_LIBRARY_IMPL(aten, VmapMode, m) {
// NB: I'd really like to register a special kernel like
Reported by Cppcheck.
aten/src/ATen/Version.cpp
1 issues
Line: 27
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
{
// Magic buffer number is from MKL documentation
// https://software.intel.com/en-us/mkl-developer-reference-c-mkl-get-version-string
char buf[198];
mkl_get_version_string(buf, 198);
version = buf;
}
#else
version = "MKL not found";
Reported by FlawFinder.
aten/src/ATen/Utils.cpp
1 issues
Line: 19
Column: 12
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
int _crash_if_asan(int arg) {
// NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays)
volatile char x[3];
x[arg] = 0;
return x[0];
}
namespace detail {
Reported by FlawFinder.
aten/src/ATen/SparseTensorImpl.cpp
1 issues
Line: 112
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
IntArrayRef expected_values_size(expected_values_size_vec);
auto new_values_size = values.sizes();
TORCH_CHECK(
std::equal(expected_values_size.begin(), expected_values_size.end(), new_values_size.begin()),
"values has incorrect size, expected ", expected_values_size, ", got ", new_values_size
);
indices_ = indices;
values_ = values;
Reported by FlawFinder.
aten/src/ATen/DynamicLibrary.cpp
1 issues
Line: 81
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 (theModule) {
handle = theModule;
} else {
char buf[256];
DWORD dw = GetLastError();
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, dw, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
buf, (sizeof(buf) / sizeof(char)), NULL);
AT_ERROR("error in LoadLibrary for ", name, ". WinError ", dw, ": ", buf);
Reported by FlawFinder.
aten/src/ATen/Context.cpp
1 issues
Line: 98
Column: 35
CWE codes:
807
20
Suggestion:
Check environment variables carefully before using them
// If using CUDA 10.2 or greater, need to make sure CuBLAS workspace config
// is set to deterministic setting
if (hasCUDART() && (versionCUDART() >= 10020)) {
char* workspace_config = std::getenv(cublas_config_var_name);
cublas_config_deterministic = (workspace_config != nullptr) && (
(strcmp(workspace_config, cublas_deterministic_configs[0]) == 0)
|| (strcmp(workspace_config, cublas_deterministic_configs[1]) == 0)
);
}
Reported by FlawFinder.
aten/src/ATen/ConjugateFallback.cpp
1 issues
Line: 26
object.fallback_impl(op, dispatch_keys, stack);
}
TORCH_LIBRARY_IMPL(_, Conjugate, m) {
m.fallback(torch::CppFunction::makeFromBoxedFunction<&conjugateFallback>());
}
TORCH_LIBRARY_IMPL(aten, Conjugate, m) {
m.impl("requires_grad_", torch::CppFunction::makeFallthrough());
Reported by Cppcheck.
aten/src/ATen/CPUGeneratorImpl.h
1 issues
Line: 23
Column: 12
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
void set_state(const c10::TensorImpl& new_state) override;
c10::intrusive_ptr<c10::TensorImpl> get_state() const override;
static DeviceType device_type();
uint32_t random();
uint64_t random64();
c10::optional<float> next_float_normal_sample();
c10::optional<double> next_double_normal_sample();
void set_next_float_normal_sample(c10::optional<float> randn);
void set_next_double_normal_sample(c10::optional<double> randn);
Reported by FlawFinder.