aboutsummaryrefslogtreecommitdiff
path: root/lib/utils_base.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils_base.c')
-rw-r--r--lib/utils_base.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/utils_base.c b/lib/utils_base.c
index addf26bd..3822bcf1 100644
--- a/lib/utils_base.c
+++ b/lib/utils_base.c
@@ -446,6 +446,7 @@ void np_enable_state(char *keyname, int expected_data_version) {
char *temp_filename = NULL;
char *temp_keyname = NULL;
char *p=NULL;
+ int ret;
if(this_monitoring_plugin==NULL)
die(STATE_UNKNOWN, _("This requires np_init to be called"));
@@ -476,9 +477,13 @@ void np_enable_state(char *keyname, int expected_data_version) {
this_state->state_data=NULL;
/* Calculate filename */
- asprintf(&temp_filename, "%s/%lu/%s/%s",
+ ret = asprintf(&temp_filename, "%s/%lu/%s/%s",
_np_state_calculate_location_prefix(), (unsigned long)geteuid(),
this_monitoring_plugin->plugin_name, this_state->name);
+ if (ret < 0)
+ die(STATE_UNKNOWN, _("Cannot allocate memory: %s"),
+ strerror(errno));
+
this_state->_filename=temp_filename;
this_monitoring_plugin->state = this_state;
@@ -614,8 +619,8 @@ void np_state_write_string(time_t data_time, char *data_string) {
/* If file doesn't currently exist, create directories */
if(access(this_monitoring_plugin->state->_filename,F_OK)!=0) {
- asprintf(&directories, "%s", this_monitoring_plugin->state->_filename);
- if(directories==NULL)
+ result = asprintf(&directories, "%s", this_monitoring_plugin->state->_filename);
+ if(result < 0)
die(STATE_UNKNOWN, _("Cannot allocate memory: %s"),
strerror(errno));
@@ -633,8 +638,8 @@ void np_state_write_string(time_t data_time, char *data_string) {
np_free(directories);
}
- asprintf(&temp_file,"%s.XXXXXX",this_monitoring_plugin->state->_filename);
- if(temp_file==NULL)
+ result = asprintf(&temp_file,"%s.XXXXXX",this_monitoring_plugin->state->_filename);
+ if(result < 0)
die(STATE_UNKNOWN, _("Cannot allocate memory: %s"),
strerror(errno));