diff options
author | Haru <haru@dotalux.com> | 2016-08-14 17:39:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-14 17:39:52 +0200 |
commit | 694070de091852a2b3426072d2141224391a8cc8 (patch) | |
tree | 581c0366ad38166fc1253ad9aef5e94fe1290639 /src | |
parent | 9f3ef7e80274cf2aa9f0940e043697b0a722da6b (diff) | |
parent | 9b3b068f5f2951238a470c535e038495a54383a3 (diff) | |
download | hercules-694070de091852a2b3426072d2141224391a8cc8.tar.gz hercules-694070de091852a2b3426072d2141224391a8cc8.tar.bz2 hercules-694070de091852a2b3426072d2141224391a8cc8.tar.xz hercules-694070de091852a2b3426072d2141224391a8cc8.zip |
Merge pull request #1394 from 4144/loginplugin
Fix login server null pointer access if packet handler in plugin init…
Diffstat (limited to 'src')
-rw-r--r-- | src/char/char.c | 5 | ||||
-rw-r--r-- | src/login/login.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/char/char.c b/src/char/char.c index 9275678e6..51411791e 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -3807,8 +3807,11 @@ int char_parse_frommap(int fd) int packet_id = RFIFOW(fd,0); if (VECTOR_LENGTH(HPM->packets[hpParse_FromMap]) > 0) { int result = HPM->parse_packets(fd,packet_id,hpParse_FromMap); - if (result == 1) + if (result == 1) { + if (sockt->session[fd] == NULL) + return 0; continue; + } if (result == 2) return 0; } diff --git a/src/login/login.c b/src/login/login.c index 7f5f78a4d..6b422eef2 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -817,8 +817,11 @@ int login_parse_fromchar(int fd) if (VECTOR_LENGTH(HPM->packets[hpParse_FromChar]) > 0) { int result = HPM->parse_packets(fd,command,hpParse_FromChar); - if (result == 1) + if (result == 1) { + if (sockt->session[fd] == NULL) + return 0; continue; + } if (result == 2) return 0; } |