From 5e86dea0b06566bc643018fe8cc026d0dd24ad79 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 18 May 2014 00:51:40 +0200 Subject: Shared/Packets: Handle crash by throwing an exception instead Throw a ByteBufferException when trying to access the first element of an empty ByteBuffer class --- src/server/shared/Packets/ByteBuffer.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/server/shared/Packets') diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h index bc46b87fa27..dd0a9d5fdf4 100644 --- a/src/server/shared/Packets/ByteBuffer.h +++ b/src/server/shared/Packets/ByteBuffer.h @@ -377,9 +377,19 @@ class ByteBuffer return *this; } - uint8 * contents() { return &_storage[0]; } + uint8 * contents() + { + if (_storage.empty()) + throw ByteBufferException(); + return &_storage[0]; + } - const uint8 *contents() const { return &_storage[0]; } + const uint8 *contents() const + { + if (_storage.empty()) + throw ByteBufferException(); + return &_storage[0]; + } size_t size() const { return _storage.size(); } bool empty() const { return _storage.empty(); } -- cgit v1.2.3