@@ -212,11 +212,11 @@ static int async_polkit_defer(sd_event_source *s, void *userdata) {
212212 return 0 ;
213213}
214214
215- static int async_polkit_callback (sd_bus_message * reply , void * userdata , sd_bus_error * error ) {
216- AsyncPolkitQuery * q = ASSERT_PTR (userdata );
215+ static int async_polkit_process_reply (sd_bus_message * reply , AsyncPolkitQuery * q ) {
217216 int r ;
218217
219218 assert (reply );
219+ assert (q );
220220
221221 assert (q -> slot );
222222 q -> slot = sd_bus_slot_unref (q -> slot );
@@ -234,30 +234,39 @@ static int async_polkit_callback(sd_bus_message *reply, void *userdata, sd_bus_e
234234 assert (!q -> defer_event_source );
235235 r = sd_event_add_defer (sd_bus_get_event (sd_bus_message_get_bus (reply )), & q -> defer_event_source , async_polkit_defer , q );
236236 if (r < 0 )
237- goto fail ;
237+ return r ;
238238
239239 r = sd_event_source_set_priority (q -> defer_event_source , SD_EVENT_PRIORITY_IDLE );
240240 if (r < 0 )
241- goto fail ;
241+ return r ;
242242
243243 r = sd_event_source_set_enabled (q -> defer_event_source , SD_EVENT_ONESHOT );
244244 if (r < 0 )
245- goto fail ;
245+ return r ;
246246
247247 r = sd_bus_message_rewind (q -> request , true);
248248 if (r < 0 )
249- goto fail ;
249+ return r ;
250250
251251 r = sd_bus_enqueue_for_read (sd_bus_message_get_bus (q -> request ), q -> request );
252252 if (r < 0 )
253- goto fail ;
253+ return r ;
254254
255255 return 1 ;
256+ }
256257
257- fail :
258- log_debug_errno (r , "Processing asynchronous PolicyKit reply failed, ignoring: %m" );
259- (void ) sd_bus_reply_method_errno (q -> request , r , NULL );
260- async_polkit_query_free (q );
258+ static int async_polkit_callback (sd_bus_message * reply , void * userdata , sd_bus_error * error ) {
259+ AsyncPolkitQuery * q = ASSERT_PTR (userdata );
260+ int r ;
261+
262+ assert (reply );
263+
264+ r = async_polkit_process_reply (reply , q );
265+ if (r < 0 ) {
266+ log_debug_errno (r , "Processing asynchronous PolicyKit reply failed, ignoring: %m" );
267+ (void ) sd_bus_reply_method_errno (q -> request , r , NULL );
268+ async_polkit_query_free (q );
269+ }
261270 return r ;
262271}
263272
0 commit comments