gluon-packages/admin/autoupdater
Matthias Schiffer e4bd7a4549
autoupdater: uclient: fix segfault after interrupted HTTP request
uloop_run() may finish without ever reaching request_done(), for example
when the main loop is interrupted by a signal. In this case,
uclient_disconnect() was never called, leaving a number of callbacks
like timeout handlers registered in the uloop context.

When the main loop was later resumed in a subsequent HTTP request without
completely reinitializing the uloop context, these timeout handlers could
still fire, even though the old uclient context had already been freed,
resulting in a use-after-free.

To avoid this, move the uclient_disconnect() call out of request_done()
to ensure that it is always called before uclient_free().
2023-02-24 21:00:02 +01:00
..
files autoupdater: new implementation 2018-01-13 00:22:27 +01:00
src autoupdater: uclient: fix segfault after interrupted HTTP request 2023-02-24 21:00:02 +01:00
Makefile treewide: remove redundant definitions from package Makefiles 2018-03-07 20:51:48 +01:00
README.md autoupdater: remove outdated list of hardware (#145) 2016-08-13 15:39:16 +02:00
manifest.sample autoupdater: new implementation 2018-01-13 00:22:27 +01:00

README.md