summaryrefslogtreecommitdiff
path: root/src/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc.c')
-rw-r--r--src/misc.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/misc.c b/src/misc.c
index ec9e4944a..d1db39f18 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -157,6 +157,10 @@ static int do_match_wild(const char *pattern, const char *str, int docase)
char c;
const char *s;
+ if (!str || !*str) {
+ return 0;
+ }
+
/* This WILL eventually terminate: either by *pattern == 0, or by a
* trailing '*'. */
@@ -223,6 +227,10 @@ int process_numlist(const char *numstr, int *count_ret,
int res = 0, retval = 0, count = 0;
va_list args;
+ if (!numstr || !*numstr) {
+ return -1;
+ }
+
va_start(args, u);
/*
@@ -284,6 +292,10 @@ int dotime(const char *s)
{
int amount;
+ if (!s || !*s) {
+ return -1;
+ }
+
amount = strtol(s, (char **) &s, 10);
if (*s) {
switch (*s) {
@@ -630,10 +642,16 @@ char *myStrSubString(const char *src, int start, int end)
void doCleanBuffer(char *str)
{
- char *in = str;
- char *out = str;
+ char *in, *out;
char ch;
+ if (!str) {
+ return;
+ }
+
+ in = str;
+ out = str;
+
while (issp(ch = *in++));
if (ch != '\0')
for (;;) {
@@ -667,6 +685,10 @@ int nickIsServices(char *nick, int bot)
{
int found = 0;
+ if (!nick) {
+ return found;
+ }
+
if (s_NickServ && (stricmp(nick, s_NickServ) == 0))
found++;
else if (s_ChanServ && (stricmp(nick, s_ChanServ) == 0))