From f0a87e4f7f5377498960429e96be5dff183c8326 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Wed, 9 Jan 2013 00:18:53 -0800 Subject: Make incoming packets read-only --- src/map/party.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/map/party.cpp') diff --git a/src/map/party.cpp b/src/map/party.cpp index 9b9470c..98bb2be 100644 --- a/src/map/party.cpp +++ b/src/map/party.cpp @@ -145,7 +145,10 @@ int party_check_member(struct party *p) if (strcmp(p->member[j].name, sd->status.name) == 0) f = 0; // データがある else - p->member[j].sd = NULL; // 同垢別キャラだった + { + // I can prove it was already zeroed + // p->member[j].sd = NULL; // 同垢別キャラだった + } } } if (f) @@ -178,7 +181,7 @@ int party_recv_noinfo(int party_id) } // 情報所得 -int party_recv_info(struct party *sp) +int party_recv_info(const struct party *sp) { struct party *p; int i; @@ -191,9 +194,11 @@ int party_recv_info(struct party *sp) numdb_insert(party_db, sp->party_id, p); // 最初のロードなのでユーザーのチェックを行う - party_check_member(sp); + *p = *sp; + party_check_member(p); } - memcpy(p, sp, sizeof(struct party)); + else + *p = *sp; for (i = 0; i < MAX_PARTY; i++) { // sdの設定 -- cgit v1.2.3-70-g09d2