Skip to content

Replace eldbus with gdbus#150

Open
gin7773 wants to merge 3 commits intoflutter-tizen:masterfrom
gin7773:replace_eldbus_with_gdbus
Open

Replace eldbus with gdbus#150
gin7773 wants to merge 3 commits intoflutter-tizen:masterfrom
gin7773:replace_eldbus_with_gdbus

Conversation

@gin7773
Copy link
Contributor

@gin7773 gin7773 commented Feb 10, 2026

Fix #148

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request replaces the eldbus library with gdbus for D-Bus communication within the accessibility channel, updating build configurations and refactoring the C++ implementation. However, it introduces critical and high-severity command injection vulnerabilities. A critical issue exists in tools/generate_sysroot.py due to improper handling of filenames in shell commands, and a high-severity vulnerability is present in flutter/shell/platform/tizen/channels/accessibility_channel.cc where untrusted input from the Flutter engine is used in a D-Bus method call without sufficient sanitization. Additionally, the new gdbus code could be improved by leveraging g_autoptr for automatic resource management, which is a GLib best practice that will enhance code safety and maintainability.

eldbus_connection_send(accessibility_bus_, eldbus_message, nullptr,
nullptr, -1);
GVariant* params = g_variant_new("(sb)", msg->c_str(), TRUE);
g_dbus_connection_call(
Copy link
Member

@JSUYA JSUYA Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this g_dbus_connection_call() working properly? When I tested it, the screen reader didn't read SemanticsService.announce() . (TV)

    SemanticsService.announce("TEST", TextDirection.ltr);

return;
}

g_dbus_proxy_call(bus_, "GetAddress", nullptr, G_DBUS_CALL_FLAGS_NONE, -1,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if g_dbus_proxy_call() or the g_dbus_connection_call() function below fails?
I'm not sure, but it seems like error handling would be necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace eldbus with gdbus

4 participants