[monitoring-plugins] check_real.c: split send and receive buffers for ...

Lorenz Kästle git at monitoring-plugins.org
Sun Jul 26 11:10:13 CEST 2026


 Module: monitoring-plugins
 Branch: master
 Commit: d05c5221181acc0b55089aff0b98b3aedc3741d8
 Author: Lorenz Kästle <lorenz at vulgrim.de>
   Date: Wed Jul 15 17:22:38 2026 +0200
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=d05c5221

check_real.c: split send and receive buffers for readability

---

 plugins/check_real.c | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/plugins/check_real.c b/plugins/check_real.c
index 0dd649e1..841f9d67 100644
--- a/plugins/check_real.c
+++ b/plugins/check_real.c
@@ -107,9 +107,9 @@ int main(int argc, char **argv) {
 	mp_subcheck sc_send = mp_subcheck_init();
 
 	/* send the OPTIONS request */
-	char buffer[MAX_INPUT_BUFFER];
-	sprintf(buffer, "OPTIONS rtsp://%s:%d RTSP/1.0\r\n", config.host_name, config.server_port);
-	ssize_t sent_bytes = send(socket, buffer, strlen(buffer), 0);
+	char send_buffer[MAX_INPUT_BUFFER];
+	sprintf(send_buffer, "OPTIONS rtsp://%s:%d RTSP/1.0\r\n", config.host_name, config.server_port);
+	ssize_t sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
 	if (sent_bytes == -1) {
 		xasprintf(&sc_send.output, _("Sending options to %s failed"), config.host_name);
 		sc_send = mp_set_subcheck_state(sc_send, STATE_CRITICAL);
@@ -118,8 +118,8 @@ int main(int argc, char **argv) {
 	}
 
 	/* send the header sync */
-	sprintf(buffer, "CSeq: 1\r\n");
-	sent_bytes = send(socket, buffer, strlen(buffer), 0);
+	sprintf(send_buffer, "CSeq: 1\r\n");
+	sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
 	if (sent_bytes == -1) {
 		xasprintf(&sc_send.output, _("Sending header sync to %s failed"), config.host_name);
 		sc_send = mp_set_subcheck_state(sc_send, STATE_CRITICAL);
@@ -128,8 +128,8 @@ int main(int argc, char **argv) {
 	}
 
 	/* send a newline so the server knows we're done with the request */
-	sprintf(buffer, "\r\n");
-	sent_bytes = send(socket, buffer, strlen(buffer), 0);
+	sprintf(send_buffer, "\r\n");
+	sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
 	if (sent_bytes == -1) {
 		xasprintf(&sc_send.output, _("Sending newline to %s failed"), config.host_name);
 		sc_send = mp_set_subcheck_state(sc_send, STATE_CRITICAL);
@@ -138,7 +138,8 @@ int main(int argc, char **argv) {
 	}
 
 	/* watch for the REAL connection string */
-	ssize_t received_bytes = recv(socket, buffer, MAX_INPUT_BUFFER - 1, 0);
+	char recv_buffer[MAX_INPUT_BUFFER];
+	ssize_t received_bytes = recv(socket, recv_buffer, MAX_INPUT_BUFFER - 1, 0);
 
 	/* return a CRITICAL status if we couldn't read any data */
 	if (received_bytes == -1) {
@@ -153,7 +154,7 @@ int main(int argc, char **argv) {
 		mp_subcheck sc_options_request = mp_subcheck_init();
 		mp_state_enum options_result = STATE_OK;
 		/* make sure we find the response we are looking for */
-		if (!strstr(buffer, config.server_expect)) {
+		if (!strstr(recv_buffer, config.server_expect)) {
 			if (config.server_port == PORT) {
 				xasprintf(&sc_options_request.output, "invalid REAL response received from host");
 			} else {
@@ -167,7 +168,7 @@ int main(int argc, char **argv) {
 
 			options_result = STATE_OK;
 
-			char *status_line = strtok(buffer, "\n");
+			char *status_line = strtok(recv_buffer, "\n");
 			xasprintf(&sc_options_request.output, "status line: %s", status_line);
 
 			if (strstr(status_line, "200")) {
@@ -213,10 +214,10 @@ int main(int argc, char **argv) {
 		mp_subcheck sc_describe = mp_subcheck_init();
 
 		/* send the DESCRIBE request */
-		sprintf(buffer, "DESCRIBE rtsp://%s:%d%s RTSP/1.0\r\n", config.host_name,
+		sprintf(send_buffer, "DESCRIBE rtsp://%s:%d%s RTSP/1.0\r\n", config.host_name,
 				config.server_port, config.server_url);
 
-		ssize_t sent_bytes = send(socket, buffer, strlen(buffer), 0);
+		ssize_t sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
 		if (sent_bytes == -1) {
 			sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
 			xasprintf(&sc_describe.output, "sending DESCRIBE request to %s failed",
@@ -226,8 +227,8 @@ int main(int argc, char **argv) {
 		}
 
 		/* send the header sync */
-		sprintf(buffer, "CSeq: 2\r\n");
-		sent_bytes = send(socket, buffer, strlen(buffer), 0);
+		sprintf(send_buffer, "CSeq: 2\r\n");
+		sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
 		if (sent_bytes == -1) {
 			sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
 			xasprintf(&sc_describe.output, "sending DESCRIBE request to %s failed",
@@ -237,8 +238,8 @@ int main(int argc, char **argv) {
 		}
 
 		/* send a newline so the server knows we're done with the request */
-		sprintf(buffer, "\r\n");
-		sent_bytes = send(socket, buffer, strlen(buffer), 0);
+		sprintf(send_buffer, "\r\n");
+		sent_bytes = send(socket, send_buffer, strlen(send_buffer), 0);
 		if (sent_bytes == -1) {
 			sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
 			xasprintf(&sc_describe.output, "sending DESCRIBE request to %s failed",
@@ -248,7 +249,7 @@ int main(int argc, char **argv) {
 		}
 
 		/* watch for the REAL connection string */
-		ssize_t recv_bytes = recv(socket, buffer, MAX_INPUT_BUFFER - 1, 0);
+		ssize_t recv_bytes = recv(socket, recv_buffer, MAX_INPUT_BUFFER - 1, 0);
 		if (recv_bytes == -1) {
 			/* return a CRITICAL status if we couldn't read any data */
 			sc_describe = mp_set_subcheck_state(sc_describe, STATE_CRITICAL);
@@ -256,9 +257,9 @@ int main(int argc, char **argv) {
 			mp_add_subcheck_to_check(&overall, sc_describe);
 			mp_exit(overall);
 		} else {
-			buffer[recv_bytes] = '\0'; /* null terminate received buffer */
+			recv_buffer[recv_bytes] = '\0'; /* null terminate received buffer */
 			/* make sure we find the response we are looking for */
-			if (!strstr(buffer, config.server_expect)) {
+			if (!strstr(recv_buffer, config.server_expect)) {
 				if (config.server_port == PORT) {
 					xasprintf(&sc_describe.output, "invalid REAL response received from host");
 				} else {
@@ -275,7 +276,7 @@ int main(int argc, char **argv) {
 
 				time(&end_time);
 
-				char *status_line = strtok(buffer, "\n");
+				char *status_line = strtok(recv_buffer, "\n");
 				xasprintf(&sc_describe.output, "status line: %s", status_line);
 
 				mp_state_enum describe_result;



More information about the Commits mailing list