mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 07:53:26 +00:00
Fix various sanitizer issues.
This commit is contained in:
parent
1b4ed4c038
commit
bfdb0f0ecf
4 changed files with 13 additions and 11 deletions
|
@ -138,21 +138,20 @@ Error AudioDriverPulseAudio::detect_channels(bool input) {
|
|||
}
|
||||
}
|
||||
|
||||
char dev[1024];
|
||||
if (device == "Default") {
|
||||
strcpy(dev, input ? default_input_device.utf8().get_data() : default_output_device.utf8().get_data());
|
||||
} else {
|
||||
strcpy(dev, device.utf8().get_data());
|
||||
device = input ? default_input_device : default_output_device;
|
||||
}
|
||||
print_verbose("PulseAudio: Detecting channels for device: " + String(dev));
|
||||
print_verbose("PulseAudio: Detecting channels for device: " + device);
|
||||
|
||||
CharString device_utf8 = device.utf8();
|
||||
|
||||
// Now using the device name get the amount of channels
|
||||
pa_status = 0;
|
||||
pa_operation *pa_op;
|
||||
if (input) {
|
||||
pa_op = pa_context_get_source_info_by_name(pa_ctx, dev, &AudioDriverPulseAudio::pa_source_info_cb, (void *)this);
|
||||
pa_op = pa_context_get_source_info_by_name(pa_ctx, device_utf8.get_data(), &AudioDriverPulseAudio::pa_source_info_cb, (void *)this);
|
||||
} else {
|
||||
pa_op = pa_context_get_sink_info_by_name(pa_ctx, dev, &AudioDriverPulseAudio::pa_sink_info_cb, (void *)this);
|
||||
pa_op = pa_context_get_sink_info_by_name(pa_ctx, device_utf8.get_data(), &AudioDriverPulseAudio::pa_sink_info_cb, (void *)this);
|
||||
}
|
||||
|
||||
if (pa_op) {
|
||||
|
|
|
@ -4078,7 +4078,7 @@ Vector<Vector2i> TileMapLayerEditor::get_line(const TileMapLayer *p_tile_map_lay
|
|||
if (sign.x == 0) {
|
||||
current += Vector2(sign.y, 0);
|
||||
} else {
|
||||
current += Vector2(bool(current.y % 2) ^ (sign.x < 0) ? sign.x : 0, sign.y);
|
||||
current += Vector2(bool(current.y % 2) != (sign.x < 0) ? sign.x : 0, sign.y);
|
||||
}
|
||||
err -= err_step.x;
|
||||
} else {
|
||||
|
@ -4095,7 +4095,7 @@ Vector<Vector2i> TileMapLayerEditor::get_line(const TileMapLayer *p_tile_map_lay
|
|||
if (sign.x == 0) {
|
||||
current += Vector2(0, sign.y);
|
||||
} else {
|
||||
current += Vector2(bool(current.y % 2) ^ (sign.x < 0) ? sign.x : 0, sign.y);
|
||||
current += Vector2(bool(current.y % 2) != (sign.x < 0) ? sign.x : 0, sign.y);
|
||||
}
|
||||
err -= err_step.y;
|
||||
} else {
|
||||
|
|
|
@ -5335,7 +5335,7 @@ Variant GDScriptAnalyzer::make_call_reduced_value(GDScriptParser::CallNode *p_ca
|
|||
|
||||
Vector<Variant> args;
|
||||
args.resize(p_call->arguments.size());
|
||||
const Variant **argptrs = (const Variant **)alloca(sizeof(const Variant **) * args.size());
|
||||
const Variant **argptrs = (const Variant **)alloca(sizeof(const Variant *) * args.size());
|
||||
for (int i = 0; i < p_call->arguments.size(); i++) {
|
||||
bool is_arg_value_reduced = false;
|
||||
Variant arg_value = make_expression_reduced_value(p_call->arguments[i], is_arg_value_reduced);
|
||||
|
|
|
@ -7287,7 +7287,10 @@ void RenderingDevice::_set_max_fps(int p_max_fps) {
|
|||
|
||||
RenderingDevice *RenderingDevice::create_local_device() {
|
||||
RenderingDevice *rd = memnew(RenderingDevice);
|
||||
rd->initialize(context);
|
||||
if (rd->initialize(context) != OK) {
|
||||
memdelete(rd);
|
||||
return nullptr;
|
||||
}
|
||||
return rd;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue