diff --git a/examples/core_benchmark.c b/examples/core_benchmark.c
index 57ec88575ca69c2a60a44e0cdfa955ecc1aac53d..479696e52ac24e9d79e889dcc4db16ae8b9b99f9 100644
--- a/examples/core_benchmark.c
+++ b/examples/core_benchmark.c
@@ -179,7 +179,7 @@ int main(int argc, char *argv[]) {
         MPI_Barrier(MPI_COMM_WORLD);
 
     }
-    else if ((rank > 0) && (rank <= nConsumers)) {
+    else if ((rank > 0) && (rank <= (int) nConsumers)) {
       double require_time, demand_time, before, after;
       /* get PM info */
       int info_size;
@@ -211,10 +211,10 @@ int main(int argc, char *argv[]) {
         MPI_Abort(MPI_COMM_WORLD, -1);
       }
       /* calculate my assigned producers */
-      get_producers(rank, size, nConsumers, producers_ids, num_producers, consumer_mode);
+      get_producers(rank, nConsumers, producers_ids, num_producers, consumer_mode);
 
 
-      for (size_t i = 0; i < num_producers; i++) {
+      for (int i = 0; i < num_producers; i++) {
         printf("producer: %d \n", producers_ids[i]);
       }
 
@@ -232,7 +232,7 @@ int main(int argc, char *argv[]) {
         MPI_Abort(MPI_COMM_WORLD, -1);
       }
       int ret = -1;
-      for(int i = 0; i < num_threads; i++) {
+      for(size_t i = 0; i < num_threads; i++) {
 	      ret = posix_memalign((void**) &CDO_data[i], (size_t) sysconf(_SC_PAGESIZE), sizeof(char)*size_CDO);
 	      if (ret != 0){
 		      ERR("Could not allocate aligned memory for cdo %d of required size %" PRId64 " \n", i, size_CDO);
@@ -283,10 +283,10 @@ int main(int argc, char *argv[]) {
       }
 
       if (CDO_data != NULL){
-	      for(int i = 0; i < num_threads; i++){
-          free(CDO_data[i]);
+	      for(size_t i = 0; i < num_threads; i++){
+		      free(CDO_data[i]);
 	      }
-        free(CDO_data);
+	      free(CDO_data);
       }
 
 
@@ -379,7 +379,7 @@ int main(int argc, char *argv[]) {
 
       /* free allocated data*/
       if (size_CDO != 0) {
-	      for(int i = 0; i < num_CDOs; i++){
+	      for(size_t i = 0; i < num_CDOs; i++){
 		      free(CDO_data[i]);
 	      }
       }
diff --git a/examples/omp_consumer.c b/examples/omp_consumer.c
index c2b5273873b8c406fed405f7dc4dc33707edc787..dc1c050764d3f5a45645a3e1d905bb250d7ca8c2 100644
--- a/examples/omp_consumer.c
+++ b/examples/omp_consumer.c
@@ -98,7 +98,7 @@ int get_num_producers(int size, int nConsumers, int consumer_mode) {
 
 
 /* producer_ids and num_producers are outputs */
-void get_producers(int rank, int size, int nConsumers, int *producers_ids, int num_producers, int consumer_mode) {
+void get_producers(int rank, int nConsumers, int *producers_ids, int num_producers, int consumer_mode) {
 
 
   /*calculate number of producers */
@@ -133,11 +133,11 @@ void get_producers(int rank, int size, int nConsumers, int *producers_ids, int n
 }
 
 
-mstro_status require_CDOs(mstro_cdo *cdos, int num_CDOs, int *injector_ids, int num_injectors, char **CDO_data, int64_t cdo_data_size) {
+mstro_status require_CDOs(mstro_cdo *cdos, size_t num_CDOs, int *injector_ids, int num_injectors, char **CDO_data, int64_t cdo_data_size) {
 
   mstro_status s = MSTRO_OK; // global status
   int CDOs_per_inj = num_CDOs / num_injectors ;
-  int cdoidx, cdo_gid, i, j;
+  size_t cdoidx, cdo_gid, i, j;
 
   
 
@@ -185,7 +185,7 @@ mstro_status require_CDOs(mstro_cdo *cdos, int num_CDOs, int *injector_ids, int
 }
 
 
-mstro_status demand_CDOs(mstro_cdo *cdos, int num_CDOs){
+mstro_status demand_CDOs(mstro_cdo *cdos, size_t num_CDOs){
 
   mstro_status s = MSTRO_OK; /* global status */
 
diff --git a/examples/omp_consumer.h b/examples/omp_consumer.h
index 73f3772bba46540fb30962c230ac586479efc01b..203574c6ce939a62668fc60a6618566fab251fc0 100644
--- a/examples/omp_consumer.h
+++ b/examples/omp_consumer.h
@@ -59,9 +59,9 @@
 
 
 
-mstro_status require_CDOs(mstro_cdo *cdos, int num_CDOs, int *injector_ids, int num_injectors, char **CDO_data, int64_t cdo_data_size);
-mstro_status demand_CDOs(mstro_cdo *cdos, int num_CDOs);
-void get_producers(int rank, int size, int nConsumers, int *producers_ids, int num_producers, int consumer_mode);
+mstro_status require_CDOs(mstro_cdo *cdos, size_t num_CDOs, int *injector_ids, int num_injectors, char **CDO_data, int64_t cdo_data_size);
+mstro_status demand_CDOs(mstro_cdo *cdos, size_t num_CDOs);
+void get_producers(int rank,int nConsumers, int *producers_ids, int num_producers, int consumer_mode);
 int convert_consumer_mode(const char * consumer_mode_env);
 int get_num_producers(int size, int nConsumers, int consumer_mode);
 int get_consumer_mode();
diff --git a/examples/omp_injector.c b/examples/omp_injector.c
index 1d59c307aaf862b77e779194408767cb89d48f0f..c2fa86574d1e49a61e15c7c1435f6f0adfd89bd2 100644
--- a/examples/omp_injector.c
+++ b/examples/omp_injector.c
@@ -46,7 +46,7 @@ void create_name(char *dst, size_t idx) {
 }
 
 
-mstro_status inject_CDOs(int injector_id, mstro_cdo *cdos, int num_CDOs, size_t num_attributes, size_t size_attributes, int64_t size_CDO, char **CDO_data) {
+mstro_status inject_CDOs(int injector_id, mstro_cdo *cdos, size_t num_CDOs, size_t num_attributes, size_t size_attributes, int64_t size_CDO, char **CDO_data) {
 
   mstro_status s = MSTRO_OK; // global status
 
@@ -105,13 +105,13 @@ mstro_status inject_CDOs(int injector_id, mstro_cdo *cdos, int num_CDOs, size_t
 
 }
 
-void free_cdo_attributes(mstro_cdo cdo, int n_attributes){
+void free_cdo_attributes(mstro_cdo cdo, size_t n_attributes){
 	char attrib_name[ATTRIB_NAME_MAX];
-	int i;
+	size_t i;
 	char *data;
 	for (i = 0; i < n_attributes; i++){
 		/*create attribute name*/
-		 snprintf(attrib_name, ATTRIB_NAME_MAX, ".maestro.benchmark.attrib_%d", i+1);
+		 snprintf(attrib_name, ATTRIB_NAME_MAX, ".maestro.benchmark.attrib_%lu", i+1);
 		/*get attribute*/
 		mstro_cdo_attribute_get(cdo, attrib_name, NULL,(const void**) &data);
 		/*free attribute*/
@@ -120,7 +120,7 @@ void free_cdo_attributes(mstro_cdo cdo, int n_attributes){
 }
 
 
-mstro_status dispose_CDOs(mstro_cdo *cdos, int num_CDOs, int num_attributes) {
+mstro_status dispose_CDOs(mstro_cdo *cdos, size_t num_CDOs, size_t num_attributes) {
 
   mstro_status s = MSTRO_OK;
 
@@ -144,7 +144,7 @@ void fill_char_array(char *array, size_t size) {
    array[i] = '\0';
 }
 
-mstro_status withdraw_CDOs(mstro_cdo *cdos, int num_CDOs) {
+mstro_status withdraw_CDOs(mstro_cdo *cdos, size_t num_CDOs) {
 
   mstro_status s = MSTRO_OK; 
 
diff --git a/examples/omp_injector.h b/examples/omp_injector.h
index 6b8deee1d3740f452f0b31a06b0d17a944f6b675..34d66dc8d91b16d2e4a338b3f95f2a2833333735 100644
--- a/examples/omp_injector.h
+++ b/examples/omp_injector.h
@@ -60,10 +60,10 @@
 void create_name(char *dst, size_t idx);
 
 mstro_status start_injector(int injector_id, size_t num_attributes, size_t size_attributes, size_t CDOs_per_thread);
-mstro_status inject_CDOs(int injector_id, mstro_cdo *cdos, int num_CDOs, size_t num_attributes, size_t size_attributes, int64_t size_CDO, char **CDO_data);
-mstro_status withdraw_CDOs(mstro_cdo *cdos, int num_CDOs);
+mstro_status inject_CDOs(int injector_id, mstro_cdo *cdos, size_t num_CDOs, size_t num_attributes, size_t size_attributes, int64_t size_CDO, char **CDO_data);
+mstro_status withdraw_CDOs(mstro_cdo *cdos, size_t num_CDOs);
 void fill_char_array(char *array, size_t size);
-void free_cdo_attributes(mstro_cdo cdo, int n_attributes);
-mstro_status dispose_CDOs(mstro_cdo *cdos, int num_CDOs, int num_attributes);
+void free_cdo_attributes(mstro_cdo cdo, size_t n_attributes);
+mstro_status dispose_CDOs(mstro_cdo *cdos, size_t num_CDOs, size_t num_attributes);
 
 #endif