diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2004-01-21 12:49:12 +0000 |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2004-01-21 12:49:12 +0000 |
commit | c760a04e1afd924c063b9b37b1e9c451dc908c64 (patch) | |
tree | a9dcd3178cb421b59a28bab682144e6d734cd83f | |
parent | 37fc36aba8d107facbd8e02df1f1138ed14efa10 (diff) | |
download | monitoring-plugins-c760a04e1afd924c063b9b37b1e9c451dc908c64.tar.gz |
=fix segfault on malloc of server_expect for multibyte chars (David Croft)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/branches/release-1.3.0@796 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r-- | plugins/check_tcp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index c6acca76..e4c2440c 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c | |||
@@ -187,9 +187,9 @@ main (int argc, char **argv) | |||
187 | asprintf (&SERVICE, "NNTP"); | 187 | asprintf (&SERVICE, "NNTP"); |
188 | SEND = NULL; | 188 | SEND = NULL; |
189 | EXPECT = NULL; | 189 | EXPECT = NULL; |
190 | server_expect = realloc (server_expect, ++server_expect_count); | 190 | server_expect = realloc (server_expect, sizeof (char *) * (++server_expect_count)); |
191 | asprintf (&server_expect[server_expect_count - 1], "200"); | 191 | asprintf (&server_expect[server_expect_count - 1], "200"); |
192 | server_expect = realloc (server_expect, ++server_expect_count); | 192 | server_expect = realloc (server_expect, sizeof (char *) * (++server_expect_count)); |
193 | asprintf (&server_expect[server_expect_count - 1], "201"); | 193 | asprintf (&server_expect[server_expect_count - 1], "201"); |
194 | asprintf (&QUIT, "QUIT\r\n"); | 194 | asprintf (&QUIT, "QUIT\r\n"); |
195 | PROTOCOL = TCP_PROTOCOL; | 195 | PROTOCOL = TCP_PROTOCOL; |
@@ -209,7 +209,7 @@ main (int argc, char **argv) | |||
209 | 209 | ||
210 | /* use default expect if none listed in process_arguments() */ | 210 | /* use default expect if none listed in process_arguments() */ |
211 | if (EXPECT && server_expect_count == 0) { | 211 | if (EXPECT && server_expect_count == 0) { |
212 | server_expect = malloc (++server_expect_count); | 212 | server_expect = malloc (sizeof (char *) * (++server_expect_count)); |
213 | server_expect[server_expect_count - 1] = EXPECT; | 213 | server_expect[server_expect_count - 1] = EXPECT; |
214 | } | 214 | } |
215 | 215 | ||
@@ -447,9 +447,9 @@ process_arguments (int argc, char **argv) | |||
447 | case 'e': /* expect string (may be repeated) */ | 447 | case 'e': /* expect string (may be repeated) */ |
448 | EXPECT = NULL; | 448 | EXPECT = NULL; |
449 | if (server_expect_count == 0) | 449 | if (server_expect_count == 0) |
450 | server_expect = malloc (++server_expect_count); | 450 | server_expect = malloc (sizeof (char *) * (++server_expect_count)); |
451 | else | 451 | else |
452 | server_expect = realloc (server_expect, ++server_expect_count); | 452 | server_expect = realloc (server_expect, sizeof (char *) * (++server_expect_count)); |
453 | server_expect[server_expect_count - 1] = optarg; | 453 | server_expect[server_expect_count - 1] = optarg; |
454 | break; | 454 | break; |
455 | case 'm': | 455 | case 'm': |