enum_data->common.sequence = int_value;
                        break;
                case PREREQUISITES_SIZE:
-                       enum_data->common.prerequisites_size = int_value;
-                       if (int_value > MAX_PREREQUISITES_SIZE)
+                       if (int_value > MAX_PREREQUISITES_SIZE) {
                                pr_warn("Prerequisites size value exceeded the maximum number of elements supported or data may be malformed\n");
+                               int_value = MAX_PREREQUISITES_SIZE;
+                       }
+                       enum_data->common.prerequisites_size = int_value;
 
                        /*
                         * This step is needed to keep the expected
 
                        integer_data->common.sequence = int_value;
                        break;
                case PREREQUISITES_SIZE:
-                       if (integer_data->common.prerequisites_size > MAX_PREREQUISITES_SIZE)
+                       if (int_value > MAX_PREREQUISITES_SIZE) {
                                pr_warn("Prerequisites size value exceeded the maximum number of elements supported or data may be malformed\n");
+                               int_value = MAX_PREREQUISITES_SIZE;
+                       }
+                       integer_data->common.prerequisites_size = int_value;
+
                        /*
                         * This step is needed to keep the expected
                         * element list pointing to the right obj[elem].type
 
                        ordered_list_data->common.sequence = int_value;
                        break;
                case PREREQUISITES_SIZE:
-                       ordered_list_data->common.prerequisites_size = int_value;
-                       if (int_value > MAX_PREREQUISITES_SIZE)
+                       if (int_value > MAX_PREREQUISITES_SIZE) {
                                pr_warn("Prerequisites size value exceeded the maximum number of elements supported or data may be malformed\n");
+                               int_value = MAX_PREREQUISITES_SIZE;
+                       }
+                       ordered_list_data->common.prerequisites_size = int_value;
 
                        /*
                         * This step is needed to keep the expected
 
                        password_data->common.sequence = int_value;
                        break;
                case PREREQUISITES_SIZE:
-                       password_data->common.prerequisites_size = int_value;
-                       if (int_value > MAX_PREREQUISITES_SIZE)
+                       if (int_value > MAX_PREREQUISITES_SIZE) {
                                pr_warn("Prerequisites size value exceeded the maximum number of elements supported or data may be malformed\n");
+                               int_value = MAX_PREREQUISITES_SIZE;
+                       }
+                       password_data->common.prerequisites_size = int_value;
 
                        /* This step is needed to keep the expected
                         * element list pointing to the right obj[elem].type
 
                        string_data->common.sequence = int_value;
                        break;
                case PREREQUISITES_SIZE:
+                       if (int_value > MAX_PREREQUISITES_SIZE) {
+                               pr_warn("Prerequisites size value exceeded the maximum number of elements supported or data may be malformed\n");
+                               int_value = MAX_PREREQUISITES_SIZE;
+                       }
                        string_data->common.prerequisites_size = int_value;
 
-                       if (string_data->common.prerequisites_size > MAX_PREREQUISITES_SIZE)
-                               pr_warn("Prerequisites size value exceeded the maximum number of elements supported or data may be malformed\n");
                        /*
                         * This step is needed to keep the expected
                         * element list pointing to the right obj[elem].type