summaryrefslogtreecommitdiff
path: root/src/common/strlib.c
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-09-22 11:02:26 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-09-22 11:02:26 +0000
commitb826bc2c54dbe6a2ad0f204f36f82bf116d8e663 (patch)
tree9edb0690c8a2ecfeb6db3723d397f6fbb4f53967 /src/common/strlib.c
parent5bcbc87fbfe3d2b9182d6e7edd84083758b880a5 (diff)
downloadhercules-b826bc2c54dbe6a2ad0f204f36f82bf116d8e663.tar.gz
hercules-b826bc2c54dbe6a2ad0f204f36f82bf116d8e663.tar.bz2
hercules-b826bc2c54dbe6a2ad0f204f36f82bf116d8e663.tar.xz
hercules-b826bc2c54dbe6a2ad0f204f36f82bf116d8e663.zip
* Added 'safestrnlen' to prevent null pointer crashes
* Fixed global chat logging always crashing on a null pointer * Applied changes to clif_parse_globalmessage() from my WiP code - clearer processing of the individual packet components - proper code ordering, some more integrity checks - fixes to some poorly chosen ShowWarning() format strings - global chat logging no longer logs the entire string (w/ player name) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11271 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/common/strlib.c')
-rw-r--r--src/common/strlib.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/strlib.c b/src/common/strlib.c
index 4f204a768..c0a6238f9 100644
--- a/src/common/strlib.c
+++ b/src/common/strlib.c
@@ -310,6 +310,12 @@ char* safestrncpy(char* dst, const char* src, size_t n)
return ret;
}
+/// doesn't crash on null pointer
+size_t safestrnlen(const char* string, size_t maxlen)
+{
+ return ( string != NULL ) ? strnlen(string, maxlen) : 0;
+}
+
/////////////////////////////////////////////////////////////////////
// StringBuf - dynamic string