mirror of
https://github.com/godotengine/godot.git
synced 2024-11-24 13:12:42 +00:00
Merge pull request #66720 from qarmin/unintialized_memory
Remove usage of unitialized variables
This commit is contained in:
commit
5b6ccf2fd2
@ -235,14 +235,14 @@ public:
|
||||
GLuint vertex_buffer;
|
||||
GLuint vertex_array;
|
||||
GLuint index_buffer;
|
||||
int count;
|
||||
int count = 0;
|
||||
bool color_disabled = false;
|
||||
Color color;
|
||||
};
|
||||
|
||||
struct {
|
||||
HashMap<PolygonID, PolygonBuffers> polygons;
|
||||
PolygonID last_id;
|
||||
PolygonID last_id = 0;
|
||||
} polygon_buffers;
|
||||
|
||||
RendererCanvasRender::PolygonID request_polygon(const Vector<int> &p_indices, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs = Vector<Point2>(), const Vector<int> &p_bones = Vector<int>(), const Vector<float> &p_weights = Vector<float>()) override;
|
||||
|
@ -48,8 +48,8 @@ class AudioDriverPulseAudio : public AudioDriver {
|
||||
pa_context *pa_ctx = nullptr;
|
||||
pa_stream *pa_str = nullptr;
|
||||
pa_stream *pa_rec_str = nullptr;
|
||||
pa_channel_map pa_map;
|
||||
pa_channel_map pa_rec_map;
|
||||
pa_channel_map pa_map = {};
|
||||
pa_channel_map pa_rec_map = {};
|
||||
|
||||
String device_name = "Default";
|
||||
String new_device = "Default";
|
||||
|
@ -71,7 +71,7 @@ bool DirAccessUnix::file_exists(String p_file) {
|
||||
|
||||
p_file = fix_path(p_file);
|
||||
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
bool success = (stat(p_file.utf8().get_data(), &flags) == 0);
|
||||
|
||||
if (success && S_ISDIR(flags.st_mode)) {
|
||||
@ -90,7 +90,7 @@ bool DirAccessUnix::dir_exists(String p_dir) {
|
||||
|
||||
p_dir = fix_path(p_dir);
|
||||
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
bool success = (stat(p_dir.utf8().get_data(), &flags) == 0);
|
||||
|
||||
return (success && S_ISDIR(flags.st_mode));
|
||||
@ -125,7 +125,7 @@ uint64_t DirAccessUnix::get_modified_time(String p_file) {
|
||||
|
||||
p_file = fix_path(p_file);
|
||||
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
bool success = (stat(p_file.utf8().get_data(), &flags) == 0);
|
||||
|
||||
if (success) {
|
||||
@ -158,7 +158,7 @@ String DirAccessUnix::get_next() {
|
||||
if (entry->d_type == DT_UNKNOWN || entry->d_type == DT_LNK) {
|
||||
String f = current_dir.path_join(fname);
|
||||
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
if (stat(f.utf8().get_data(), &flags) == 0) {
|
||||
_cisdir = S_ISDIR(flags.st_mode);
|
||||
} else {
|
||||
@ -412,7 +412,7 @@ Error DirAccessUnix::remove(String p_path) {
|
||||
|
||||
p_path = fix_path(p_path);
|
||||
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
if ((stat(p_path.utf8().get_data(), &flags) != 0)) {
|
||||
return FAILED;
|
||||
}
|
||||
@ -431,7 +431,7 @@ bool DirAccessUnix::is_link(String p_file) {
|
||||
|
||||
p_file = fix_path(p_file);
|
||||
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
if ((lstat(p_file.utf8().get_data(), &flags) != 0)) {
|
||||
return FAILED;
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ Error FileAccessUnix::open_internal(const String &p_path, int p_mode_flags) {
|
||||
backend (unix-compatible mostly) supports utf8 encoding */
|
||||
|
||||
//printf("opening %s as %s\n", p_path.utf8().get_data(), path.utf8().get_data());
|
||||
struct stat st;
|
||||
struct stat st = {};
|
||||
int err = stat(path.utf8().get_data(), &st);
|
||||
if (!err) {
|
||||
switch (st.st_mode & S_IFMT) {
|
||||
@ -252,7 +252,7 @@ void FileAccessUnix::store_buffer(const uint8_t *p_src, uint64_t p_length) {
|
||||
|
||||
bool FileAccessUnix::file_exists(const String &p_path) {
|
||||
int err;
|
||||
struct stat st;
|
||||
struct stat st = {};
|
||||
String filename = fix_path(p_path);
|
||||
|
||||
// Does the name exist at all?
|
||||
@ -284,7 +284,7 @@ bool FileAccessUnix::file_exists(const String &p_path) {
|
||||
|
||||
uint64_t FileAccessUnix::_get_modified_time(const String &p_file) {
|
||||
String file = fix_path(p_file);
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
int err = stat(file.utf8().get_data(), &flags);
|
||||
|
||||
if (!err) {
|
||||
@ -297,7 +297,7 @@ uint64_t FileAccessUnix::_get_modified_time(const String &p_file) {
|
||||
|
||||
uint32_t FileAccessUnix::_get_unix_permissions(const String &p_file) {
|
||||
String file = fix_path(p_file);
|
||||
struct stat flags;
|
||||
struct stat flags = {};
|
||||
int err = stat(file.utf8().get_data(), &flags);
|
||||
|
||||
if (!err) {
|
||||
|
@ -76,7 +76,7 @@ class VideoStreamPlaybackTheora : public VideoStreamPlayback {
|
||||
th_info ti;
|
||||
th_comment tc;
|
||||
th_dec_ctx *td = nullptr;
|
||||
vorbis_info vi;
|
||||
vorbis_info vi = {};
|
||||
vorbis_dsp_state vd;
|
||||
vorbis_block vb;
|
||||
vorbis_comment vc;
|
||||
|
@ -89,7 +89,7 @@ static void handle_crash(int sig) {
|
||||
// Try to demangle the function name to provide a more readable one
|
||||
if (dladdr(bt_buffer[i], &info) && info.dli_sname) {
|
||||
if (info.dli_sname[0] == '_') {
|
||||
int status;
|
||||
int status = 0;
|
||||
char *demangled = abi::__cxa_demangle(info.dli_sname, nullptr, nullptr, &status);
|
||||
|
||||
if (status == 0 && demangled) {
|
||||
|
@ -3142,7 +3142,7 @@ void DisplayServerX11::_window_changed(XEvent *event) {
|
||||
|
||||
{
|
||||
//the position in xconfigure is not useful here, obtain it manually
|
||||
int x, y;
|
||||
int x = 0, y = 0;
|
||||
Window child;
|
||||
XTranslateCoordinates(x11_display, wd.x11_window, DefaultRootWindow(x11_display), 0, 0, &x, &y, &child);
|
||||
new_rect.position.x = x;
|
||||
@ -3305,7 +3305,7 @@ void DisplayServerX11::_check_pending_events(LocalVector<XEvent> &r_events) {
|
||||
XFlush(x11_display);
|
||||
|
||||
// Non-blocking wait for next event and remove it from the queue.
|
||||
XEvent ev;
|
||||
XEvent ev = {};
|
||||
while (XCheckIfEvent(x11_display, &ev, _predicate_all_events, nullptr)) {
|
||||
// Check if the input manager wants to process the event.
|
||||
if (XFilterEvent(&ev, None)) {
|
||||
|
@ -152,8 +152,8 @@ private:
|
||||
Vector2 direction = Vector2(1, 0);
|
||||
real_t spread = 45.0;
|
||||
|
||||
real_t parameters_min[PARAM_MAX];
|
||||
real_t parameters_max[PARAM_MAX];
|
||||
real_t parameters_min[PARAM_MAX] = {};
|
||||
real_t parameters_max[PARAM_MAX] = {};
|
||||
|
||||
Ref<Curve> curve_parameters[PARAM_MAX];
|
||||
Color color;
|
||||
|
@ -156,7 +156,7 @@ private:
|
||||
real_t spread = 45.0;
|
||||
real_t flatness = 0.0;
|
||||
|
||||
real_t parameters_min[PARAM_MAX];
|
||||
real_t parameters_min[PARAM_MAX] = {};
|
||||
real_t parameters_max[PARAM_MAX] = {};
|
||||
|
||||
Ref<Curve> curve_parameters[PARAM_MAX];
|
||||
|
@ -265,9 +265,9 @@ private:
|
||||
float spread = 0.0f;
|
||||
float flatness = 0.0f;
|
||||
|
||||
float params_min[PARAM_MAX];
|
||||
float params_max[PARAM_MAX];
|
||||
float params[PARAM_MAX];
|
||||
float params_min[PARAM_MAX] = {};
|
||||
float params_max[PARAM_MAX] = {};
|
||||
float params[PARAM_MAX] = {};
|
||||
|
||||
Ref<Texture2D> tex_parameters[PARAM_MAX];
|
||||
Color color;
|
||||
|
@ -986,7 +986,7 @@ void SurfaceTool::append_from(const Ref<Mesh> &p_existing, int p_surface, const
|
||||
format = 0;
|
||||
}
|
||||
|
||||
uint32_t nformat;
|
||||
uint32_t nformat = 0;
|
||||
LocalVector<Vertex> nvertices;
|
||||
LocalVector<int> nindices;
|
||||
_create_list(p_existing, p_surface, &nvertices, &nindices, nformat);
|
||||
|
@ -170,7 +170,7 @@ bool GodotBodyPair2D::_test_ccd(real_t p_step, GodotBody2D *p_A, int p_shape_A,
|
||||
|
||||
Vector2 mnormal = motion / mlen;
|
||||
|
||||
real_t min, max;
|
||||
real_t min = 0.0, max = 0.0;
|
||||
p_A->get_shape(p_shape_A)->project_rangev(mnormal, p_xform_A, min, max);
|
||||
|
||||
// Did it move enough in this direction to even attempt raycast?
|
||||
|
@ -197,7 +197,7 @@ bool GodotCollisionSolver2D::solve_concave(const GodotShape2D *p_shape_A, const
|
||||
real_t axis_scale = 1.0 / axis.length();
|
||||
axis *= axis_scale;
|
||||
|
||||
real_t smin, smax;
|
||||
real_t smin = 0.0, smax = 0.0;
|
||||
p_shape_A->project_rangev(axis, rel_transform, smin, smax);
|
||||
smin *= axis_scale;
|
||||
smax *= axis_scale;
|
||||
|
@ -234,7 +234,7 @@ public:
|
||||
axis = Vector2(0.0, 1.0);
|
||||
}
|
||||
|
||||
real_t min_A, max_A, min_B, max_B;
|
||||
real_t min_A = 0.0, max_A = 0.0, min_B = 0.0, max_B = 0.0;
|
||||
|
||||
if (castA) {
|
||||
shape_A->project_range_cast(motion_A, axis, *transform_A, min_A, max_A);
|
||||
|
@ -170,7 +170,7 @@ bool GodotBodyPair3D::_test_ccd(real_t p_step, GodotBody3D *p_A, int p_shape_A,
|
||||
|
||||
Vector3 mnormal = motion / mlen;
|
||||
|
||||
real_t min, max;
|
||||
real_t min = 0.0, max = 0.0;
|
||||
p_A->get_shape(p_shape_A)->project_range(mnormal, p_xform_A, min, max);
|
||||
|
||||
// Did it move enough in this direction to even attempt raycast?
|
||||
|
@ -48,7 +48,7 @@ bool GodotCollisionSolver3D::solve_static_world_boundary(const GodotShape3D *p_s
|
||||
static const int max_supports = 16;
|
||||
Vector3 supports[max_supports];
|
||||
int support_count;
|
||||
GodotShape3D::FeatureType support_type;
|
||||
GodotShape3D::FeatureType support_type = GodotShape3D::FeatureType::FEATURE_POINT;
|
||||
p_shape_B->get_supports(p_transform_B.basis.xform_inv(-p.normal).normalized(), max_supports, supports, support_count, support_type);
|
||||
|
||||
if (support_type == GodotShape3D::FEATURE_CIRCLE) {
|
||||
@ -338,7 +338,7 @@ bool GodotCollisionSolver3D::solve_concave(const GodotShape3D *p_shape_A, const
|
||||
real_t axis_scale = 1.0 / axis.length();
|
||||
axis *= axis_scale;
|
||||
|
||||
real_t smin, smax;
|
||||
real_t smin = 0.0, smax = 0.0;
|
||||
p_shape_A->project_range(axis, rel_transform, smin, smax);
|
||||
smin -= p_margin_A;
|
||||
smax += p_margin_A;
|
||||
|
@ -634,7 +634,7 @@ public:
|
||||
axis = Vector3(0.0, 1.0, 0.0);
|
||||
}
|
||||
|
||||
real_t min_A, max_A, min_B, max_B;
|
||||
real_t min_A = 0.0, max_A = 0.0, min_B = 0.0, max_B = 0.0;
|
||||
|
||||
shape_A->project_range(axis, *transform_A, min_A, max_A);
|
||||
shape_B->project_range(axis, *transform_B, min_B, max_B);
|
||||
|
Loading…
Reference in New Issue
Block a user