Mercurial > pidgin
comparison libpurple/signals.c @ 27800:deecc1d663c4
Don't use pointers (even opaquely) once they're freed. Closes #9822.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sun, 02 Aug 2009 05:34:11 +0000 |
parents | f2e4bc583e52 |
children | 7be0dbc00168 |
comparison
equal
deleted
inserted
replaced
27799:da33da2e1a1e | 27800:deecc1d663c4 |
---|---|
361 | 361 |
362 if (handler_data->handle == handle && handler_data->cb == func) | 362 if (handler_data->handle == handle && handler_data->cb == func) |
363 { | 363 { |
364 g_free(handler_data); | 364 g_free(handler_data); |
365 | 365 |
366 signal_data->handlers = g_list_remove(signal_data->handlers, | 366 signal_data->handlers = g_list_delete_link(signal_data->handlers, |
367 handler_data); | 367 l); |
368 signal_data->handler_count--; | 368 signal_data->handler_count--; |
369 | 369 |
370 found = TRUE; | 370 found = TRUE; |
371 | 371 |
372 break; | 372 break; |
396 if (handler_data->handle == handle) | 396 if (handler_data->handle == handle) |
397 { | 397 { |
398 g_free(handler_data); | 398 g_free(handler_data); |
399 | 399 |
400 signal_data->handler_count--; | 400 signal_data->handler_count--; |
401 signal_data->handlers = g_list_remove(signal_data->handlers, | 401 signal_data->handlers = g_list_delete_link(signal_data->handlers, |
402 handler_data); | 402 l); |
403 } | 403 } |
404 } | 404 } |
405 } | 405 } |
406 | 406 |
407 static void | 407 static void |