From 028d50d6f99e647a325a0a68303016382c4bbdc9 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Fri, 29 Jun 2012 00:57:48 -0400 Subject: Die when asprintf fails Fixes many instances of warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result [-Wunused-result] Signed-off-by: Anders Kaseorg --- plugins/check_snmp.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'plugins/check_snmp.c') diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index a5a88d25..2d9861bc 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c @@ -255,9 +255,9 @@ main (int argc, char **argv) command_line = calloc (9 + numauthpriv + 1 + numoids + 1, sizeof (char *)); command_line[0] = snmpcmd; command_line[1] = strdup ("-t"); - asprintf (&command_line[2], "%d", timeout_interval); + xasprintf (&command_line[2], "%d", timeout_interval); command_line[3] = strdup ("-r"); - asprintf (&command_line[4], "%d", retries); + xasprintf (&command_line[4], "%d", retries); command_line[5] = strdup ("-m"); command_line[6] = strdup (miblist); command_line[7] = "-v"; @@ -267,16 +267,16 @@ main (int argc, char **argv) command_line[9 + i] = authpriv[i]; } - asprintf (&command_line[9 + numauthpriv], "%s:%s", server_address, port); + xasprintf (&command_line[9 + numauthpriv], "%s:%s", server_address, port); /* This is just for display purposes, so it can remain a string */ - asprintf(&cl_hidden_auth, "%s -t %d -r %d -m %s -v %s %s %s:%s", + xasprintf(&cl_hidden_auth, "%s -t %d -r %d -m %s -v %s %s %s:%s", snmpcmd, timeout_interval, retries, strlen(miblist) ? miblist : "''", proto, "[authpriv]", server_address, port); for (i = 0; i < numoids; i++) { command_line[9 + numauthpriv + 1 + i] = oids[i]; - asprintf(&cl_hidden_auth, "%s %s", cl_hidden_auth, oids[i]); + xasprintf(&cl_hidden_auth, "%s %s", cl_hidden_auth, oids[i]); } command_line[9 + numauthpriv + 1 + numoids] = NULL; @@ -371,14 +371,14 @@ main (int argc, char **argv) if (dq_count) { /* unfinished line */ /* copy show verbatim first */ if (!mult_resp) mult_resp = strdup(""); - asprintf (&mult_resp, "%s%s:\n%s\n", mult_resp, oids[i], show); + xasprintf (&mult_resp, "%s%s:\n%s\n", mult_resp, oids[i], show); /* then strip out unmatched double-quote from single-line output */ if (show[0] == '"') show++; /* Keep reading until we match end of double-quoted string */ for (line++; line < chld_out.lines; line++) { ptr = chld_out.line[line]; - asprintf (&mult_resp, "%s%s\n", mult_resp, ptr); + xasprintf (&mult_resp, "%s%s\n", mult_resp, ptr); COUNT_SEQ(ptr, bk_count, dq_count) while (dq_count && ptr[0] != '\n' && ptr[0] != '\0') { @@ -424,11 +424,11 @@ main (int argc, char **argv) /* Convert to per second, then use multiplier */ temp_double = temp_double/duration*rate_multiplier; iresult = get_status(temp_double, thlds[i]); - asprintf (&show, conv, temp_double); + xasprintf (&show, conv, temp_double); } } else { iresult = get_status(response_value[i], thlds[i]); - asprintf (&show, conv, response_value[i]); + xasprintf (&show, conv, response_value[i]); } } @@ -472,16 +472,16 @@ main (int argc, char **argv) /* Prepend a label for this OID if there is one */ if (nlabels >= (size_t)1 && (size_t)i < nlabels && labels[i] != NULL) - asprintf (&outbuff, "%s%s%s %s%s%s", outbuff, + xasprintf (&outbuff, "%s%s%s %s%s%s", outbuff, (i == 0) ? " " : output_delim, labels[i], mark (iresult), show, mark (iresult)); else - asprintf (&outbuff, "%s%s%s%s%s", outbuff, (i == 0) ? " " : output_delim, + xasprintf (&outbuff, "%s%s%s%s%s", outbuff, (i == 0) ? " " : output_delim, mark (iresult), show, mark (iresult)); /* Append a unit string for this OID if there is one */ if (nunits > (size_t)0 && (size_t)i < nunits && unitv[i] != NULL) - asprintf (&outbuff, "%s %s", outbuff, unitv[i]); + xasprintf (&outbuff, "%s %s", outbuff, unitv[i]); /* Write perfdata with whatever can be parsed by strtod, if possible */ ptr = NULL; @@ -523,7 +523,7 @@ main (int argc, char **argv) current_length=0; for(i=0; i