diff -r b95c957c50ec -r b31fca4f6f60 libpurple/protocols/yahoo/yahoo.c --- a/libpurple/protocols/yahoo/yahoo.c Fri Apr 27 14:37:15 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Fri Apr 27 22:44:46 2007 +0000 @@ -345,6 +345,7 @@ /* FIXME: Please, if you know this protocol, * FIXME: fix up the strtol() stuff if possible. */ int cksum = strtol(pair->value, NULL, 10); + const char *locksum = NULL; PurpleBuddy *b; if (!name) @@ -363,7 +364,8 @@ break; yahoo_friend_set_buddy_icon_need_request(f, FALSE); - if (b && cksum != strtol(purple_buddy_icons_get_checksum_for_user(b), NULL, 10)) + if (b && (locksum = purple_buddy_icons_get_checksum_for_user(b)) != NULL && + cksum != strtol(locksum, NULL, 10)) yahoo_send_picture_request(gc, name); break;