From 31abf30a423a25ab35b1bbd0e069f0cfe48c7f3c Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 21 May 2003 23:19:27 +0000 Subject: [PATCH] truncsp() and truncstr() don't overwrite 0-terminator if's already there (avoids segfaults when accidentally called with string constants). --- src/sbbs3/str_util.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/str_util.c b/src/sbbs3/str_util.c index 583af89ead..b6e0b8adcf 100644 --- a/src/sbbs3/str_util.c +++ b/src/sbbs3/str_util.c @@ -234,11 +234,12 @@ char* DLLCALL ultoac(ulong l, char *string) /****************************************************************************/ char* DLLCALL truncsp(char *str) { - uint c; + size_t c; c=strlen(str); while(c && (uchar)str[c-1]<=' ') c--; - str[c]=0; + if(str[c]!=0) + str[c]=0; return(str); } @@ -250,7 +251,7 @@ char* DLLCALL truncstr(char* str, const char* set) char* p; p=strpbrk(str,set); - if(p!=NULL) + if(p!=NULL && *p!=0) *p=0; return(p); -- GitLab