diff options
Diffstat (limited to 'src/char/int_mail.c')
-rw-r--r-- | src/char/int_mail.c | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/src/char/int_mail.c b/src/char/int_mail.c index 17fb9d424..d4bfe14e4 100644 --- a/src/char/int_mail.c +++ b/src/char/int_mail.c @@ -6,20 +6,20 @@ #include "int_mail.h" +#include "char/char.h" +#include "char/inter.h" +#include "char/mapif.h" +#include "common/malloc.h" +#include "common/mmo.h" +#include "common/nullpo.h" +#include "common/showmsg.h" +#include "common/socket.h" +#include "common/sql.h" +#include "common/strlib.h" +#include "common/timer.h" + #include <stdio.h> #include <stdlib.h> -#include <string.h> - -#include "char.h" -#include "inter.h" -#include "mapif.h" -#include "../common/malloc.h" -#include "../common/mmo.h" -#include "../common/showmsg.h" -#include "../common/socket.h" -#include "../common/sql.h" -#include "../common/strlib.h" -#include "../common/timer.h" struct inter_mail_interface inter_mail_s; @@ -30,6 +30,7 @@ static int inter_mail_fromsql(int char_id, struct mail_data* md) char *data; StringBuf buf; + nullpo_ret(md); memset(md, 0, sizeof(struct mail_data)); md->amount = 0; md->full = false; @@ -114,6 +115,7 @@ int inter_mail_savemessage(struct mail_message* msg) SqlStmt* stmt; int j; + nullpo_ret(msg); // build message save query StrBuf->Init(&buf); StrBuf->Printf(&buf, "INSERT INTO `%s` (`send_name`, `send_id`, `dest_name`, `dest_id`, `title`, `message`, `time`, `status`, `zeny`, `amount`, `nameid`, `refine`, `attribute`, `identify`, `unique_id`", mail_db); @@ -151,6 +153,7 @@ static bool inter_mail_loadmessage(int mail_id, struct mail_message* msg) { int j; StringBuf buf; + nullpo_ret(msg); memset(msg, 0, sizeof(struct mail_message)); // Initialize data StrBuf->Init(&buf); @@ -203,6 +206,7 @@ static bool inter_mail_loadmessage(int mail_id, struct mail_message* msg) void mapif_mail_sendinbox(int fd, int char_id, unsigned char flag, struct mail_data *md) { + nullpo_retv(md); //FIXME: dumping the whole structure like this is unsafe [ultramage] WFIFOHEAD(fd, sizeof(struct mail_data) + 9); WFIFOW(fd,0) = 0x3848; @@ -263,6 +267,7 @@ static bool inter_mail_DeleteAttach(int mail_id) void mapif_mail_sendattach(int fd, int char_id, struct mail_message *msg) { + nullpo_retv(msg); WFIFOHEAD(fd, sizeof(struct item) + 12); WFIFOW(fd,0) = 0x384a; WFIFOW(fd,2) = sizeof(struct item) + 12; @@ -402,6 +407,7 @@ void mapif_mail_send(int fd, struct mail_message* msg) { int len = sizeof(struct mail_message) + 4; + nullpo_retv(msg); WFIFOHEAD(fd,len); WFIFOW(fd,0) = 0x384d; WFIFOW(fd,2) = len; @@ -449,6 +455,10 @@ void mapif_parse_mail_send(int fd) void inter_mail_sendmail(int send_id, const char* send_name, int dest_id, const char* dest_name, const char* title, const char* body, int zeny, struct item *item) { struct mail_message msg; + nullpo_retv(send_name); + nullpo_retv(dest_name); + nullpo_retv(title); + nullpo_retv(body); memset(&msg, 0, sizeof(struct mail_message)); msg.send_id = send_id; |