comparison libpurple/protocols/msn/slplink.c @ 23057:79b4a8e0da77

MSN SLP fix
author Stu Tomlinson <stu@nosnilmot.com>
date Thu, 26 Jun 2008 19:04:52 +0000
parents d04d24b1db9b
children 0a7fe6eaa5ab
comparison
equal deleted inserted replaced
23056:a94f472c7635 23057:79b4a8e0da77
591 /* fseek(slpmsg->fp, offset, SEEK_SET); */ 591 /* fseek(slpmsg->fp, offset, SEEK_SET); */
592 len = fwrite(data, 1, len, slpmsg->fp); 592 len = fwrite(data, 1, len, slpmsg->fp);
593 } 593 }
594 else if (slpmsg->size) 594 else if (slpmsg->size)
595 { 595 {
596 if (offset < 0 || (offset + len) > slpmsg->size) 596 if (G_MAXSIZE - len < offset || (offset + len) > slpmsg->size)
597 { 597 {
598 purple_debug_error("msn", 598 purple_debug_error("msn",
599 "Oversized slpmsg - msgsize=%lld offset=%" G_GSIZE_FORMAT " len=%" G_GSIZE_FORMAT "\n", 599 "Oversized slpmsg - msgsize=%lld offset=%" G_GSIZE_FORMAT " len=%" G_GSIZE_FORMAT "\n",
600 slpmsg->size, offset, len); 600 slpmsg->size, offset, len);
601 g_return_if_reached(); 601 g_return_if_reached();