aboutsummaryrefslogtreecommitdiffstats
path: root/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'socket.c')
-rw-r--r--socket.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/socket.c b/socket.c
index 546a6bd4..f836115f 100644
--- a/socket.c
+++ b/socket.c
@@ -111,7 +111,7 @@ static char *const *parse_plugin(const char *plugin, const char *host, const cha
return NULL;
}
- while (plugin_copy_offset < plugin_copy_len)
+ while (plugin_offset < plugin_len && plugin_copy_offset < plugin_copy_len)
{ if ((plugin[plugin_offset] == '%') && (plugin[plugin_offset + 1] == 'h'))
{ strcpy(plugin_copy + plugin_copy_offset, host);
plugin_offset += 2;
@@ -130,6 +130,8 @@ static char *const *parse_plugin(const char *plugin, const char *host, const cha
}
plugin_copy[plugin_copy_len] = 0;
+ /* XXX FIXME - is this perhaps a bit too simplistic to chop down the argument strings without any respect to quoting?
+ * better write a generic function that tracks arguments instead... */
argvec = (char **)malloc(s);
if (!argvec)
{