diff libpurple/protocols/oscar/oscar.c @ 16059:e1cd60075d08

Avoid a possible NULL pointer dereference
author Stu Tomlinson <stu@nosnilmot.com>
date Wed, 11 Apr 2007 13:34:17 +0000
parents de619a9523f9
children fa8aeab4ca5a
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oscar.c	Wed Apr 11 13:32:57 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Wed Apr 11 13:34:17 2007 +0000
@@ -1785,11 +1785,13 @@
 	else
 	{
 		PurpleBuddy *b = purple_find_buddy(account, info->sn);
-		PurpleStatus *status;
-		const char *active_status_id;
-
-		status = purple_presence_get_active_status(purple_buddy_get_presence(b));
-		active_status_id = purple_status_get_id(status);
+		PurpleStatus *status = NULL;
+		const char *active_status_id = NULL;
+
+		if (b != NULL) {
+			status = purple_presence_get_active_status(purple_buddy_get_presence(b));
+			active_status_id = purple_status_get_id(status);
+		}
 
 		if (!active_status_id || strcmp(active_status_id, status_id))
 			purple_prpl_got_user_status(account, info->sn, status_id, NULL);