Skip to content

Do not block on request input#31

Merged
EddyTheCo merged 3 commits intodevelopfrom
do_not_block_on_request_input
Apr 16, 2026
Merged

Do not block on request input#31
EddyTheCo merged 3 commits intodevelopfrom
do_not_block_on_request_input

Conversation

@EddyTheCo
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown

@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 refactors the Agent class to use a DBus object, introduces asynchronous input request handling via detached threads, and improves memory management and locking in the Manager class. Feedback identifies a critical use-after-free vulnerability in dispatch_method_call where a string is accessed after its parent variant is unreferenced, and highlights the risks of using detached threads without ensuring the lifetime of captured objects.

Comment thread src/dbus/gconnman_agent.cpp Outdated
Comment thread src/dbus/gconnman_agent.cpp
@github-actions
Copy link
Copy Markdown

🧩 Build Artifacts

✅ The following build artifacts were produced:

Store a pointer to dbus to finish the request input in the gdbus managed
context.
Spawn a thread that execute the request input callback so the user can
block as long as he wants for user input.

Signed-off-by: Eduardo Gonzalez <eduardo.gonzalez@amarulasolutions.com>
A lock is used to protect concurrent access to the services structure,
once the service is found there is no need to continue locking the
resource.
The later allows to block the request input as long as the user want
without locking the services and other members of the manager.

Signed-off-by: Eduardo Gonzalez <eduardo.gonzalez@amarulasolutions.com>
Unref missing GPtrArray memory and add  function to properly free field
description structs.

Signed-off-by: Eduardo Gonzalez <eduardo.gonzalez@amarulasolutions.com>
@EddyTheCo EddyTheCo force-pushed the do_not_block_on_request_input branch from c74f550 to 895478f Compare April 16, 2026 15:32
@EddyTheCo EddyTheCo merged commit 34c7b81 into develop Apr 16, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown

🧩 Build Artifacts

✅ The following build artifacts were produced:

@EddyTheCo EddyTheCo deleted the do_not_block_on_request_input branch April 16, 2026 15:34
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.

1 participant