Fix asprintf and scanf ignoring return value
[ust.git] / libustd / libustd.c
index df945fc7eac7e680127d5b357521fef9960e6b77..999e4dadfcf65da35e4f669e7e0ca71fb3e837ef 100644 (file)
@@ -58,7 +58,12 @@ int get_subbuffer(struct buffer_info *buf)
        int retval;
        int result;
 
-       asprintf(&send_msg, "get_subbuffer %s", buf->name);
+       if (asprintf(&send_msg, "get_subbuffer %s", buf->name) < 0) {
+               ERR("get_subbuffer : asprintf failed (%s)",
+                   buf->name);
+               retval = -1;
+               goto end;
+       }
        result = ustcomm_send_request(buf->conn, send_msg, &received_msg);
        if((result == -1 && (errno == ECONNRESET || errno == EPIPE)) || result == 0) {
                DBG("app died while being traced");
@@ -118,7 +123,12 @@ int put_subbuffer(struct buffer_info *buf)
        int retval;
        int result;
 
-       asprintf(&send_msg, "put_subbuffer %s %ld", buf->name, buf->consumed_old);
+       if (asprintf(&send_msg, "put_subbuffer %s %ld", buf->name, buf->consumed_old) < 0) {
+               ERR("put_subbuffer : asprintf failed (%s %ld)",
+                   buf->name, buf->consumed_old);
+               retval = -1;
+               goto end;
+       }
        result = ustcomm_send_request(buf->conn, send_msg, &received_msg);
        if(result < 0 && (errno == ECONNRESET || errno == EPIPE)) {
                retval = PUT_SUBBUF_DIED;
@@ -191,7 +201,7 @@ struct buffer_info *connect_buffer(struct libustd_instance *instance, pid_t pid,
        int result;
        struct shmid_ds shmds;
 
-       buf = (struct buffer_info *) malloc(sizeof(struct buffer_info));
+       buf = (struct buffer_info *) zmalloc(sizeof(struct buffer_info));
        if(buf == NULL) {
                ERR("add_buffer: insufficient memory");
                return NULL;
@@ -215,7 +225,10 @@ struct buffer_info *connect_buffer(struct libustd_instance *instance, pid_t pid,
        }
 
        /* get pidunique */
-       asprintf(&send_msg, "get_pidunique");
+       if (asprintf(&send_msg, "get_pidunique") < 0) {
+               ERR("connect_buffer : asprintf failed (get_pidunique)");
+               return NULL;
+       }
        result = ustcomm_send_request(buf->conn, send_msg, &received_msg);
        free(send_msg);
        if(result == -1) {
@@ -235,7 +248,11 @@ struct buffer_info *connect_buffer(struct libustd_instance *instance, pid_t pid,
        DBG("got pidunique %lld", buf->pidunique);
 
        /* get shmid */
-       asprintf(&send_msg, "get_shmid %s", buf->name);
+       if (asprintf(&send_msg, "get_shmid %s", buf->name) < 0) {
+               ERR("connect_buffer : asprintf failed (get_schmid %s)",
+                   buf->name);
+               return NULL;
+       }
        result = ustcomm_send_request(buf->conn, send_msg, &received_msg);
        free(send_msg);
        if(result == -1) {
@@ -255,7 +272,11 @@ struct buffer_info *connect_buffer(struct libustd_instance *instance, pid_t pid,
        DBG("got shmids %d %d", buf->shmid, buf->bufstruct_shmid);
 
        /* get n_subbufs */
-       asprintf(&send_msg, "get_n_subbufs %s", buf->name);
+       if (asprintf(&send_msg, "get_n_subbufs %s", buf->name) < 0) {
+               ERR("connect_buffer : asprintf failed (get_n_subbufs %s)",
+                   buf->name);
+               return NULL;
+       }
        result = ustcomm_send_request(buf->conn, send_msg, &received_msg);
        free(send_msg);
        if(result == -1) {
@@ -275,7 +296,11 @@ struct buffer_info *connect_buffer(struct libustd_instance *instance, pid_t pid,
        DBG("got n_subbufs %d", buf->n_subbufs);
 
        /* get subbuf size */
-       asprintf(&send_msg, "get_subbuf_size %s", buf->name);
+       if (asprintf(&send_msg, "get_subbuf_size %s", buf->name) < 0) {
+               ERR("connect_buffer : asprintf failed (get_subbuf_size %s)",
+                   buf->name);
+               return NULL;
+       }
        result = ustcomm_send_request(buf->conn, send_msg, &received_msg);
        free(send_msg);
        if(result == -1) {
@@ -495,7 +520,7 @@ int start_consuming_buffer(
 
        DBG("beginning of start_consuming_buffer: args: pid %d bufname %s", pid, bufname);
 
-       args = (struct consumer_thread_args *) malloc(sizeof(struct consumer_thread_args));
+       args = (struct consumer_thread_args *) zmalloc(sizeof(struct consumer_thread_args));
 
        args->pid = pid;
        args->bufname = strdup(bufname);
@@ -648,7 +673,7 @@ struct libustd_instance *libustd_new_instance(
        struct libustd_callbacks *callbacks, char *sock_path)
 {
        struct libustd_instance *instance =
-               malloc(sizeof(struct libustd_instance));
+               zmalloc(sizeof(struct libustd_instance));
        if(!instance)
                return NULL;
 
This page took 0.023966 seconds and 4 git commands to generate.