if (value_type != CONFIGURE_VALUE_STRING && value_type != CONFIGURE_VALUE_STRING_ARRAY) {
token = strtok_r(NULL, delimiters, &user_ptr);
while (token) {
- buffer_token[count_token] = token;
- MMCAM_LOG_VERBOSE("token : [%s]", buffer_token[count_token]);
+ if (count_token < BUFFER_NUM_TOKEN) {
+ buffer_token[count_token] = token;
+ MMCAM_LOG_VERBOSE("token : [%s]", buffer_token[count_token]);
+ } else {
+ MMCAM_LOG_WARNING("too many token[%s]", token);
+ }
count_token++;
token = strtok_r(NULL, delimiters, &user_ptr);
}
-
- if (count_token < 2) {
- (*info)->detail_info[i] = NULL;
- MMCAM_LOG_WARNING("Number of token is too small... check it.[%s]", buffer_details[i]);
- continue;
- }
} else { /* CONFIGURE_VALUE_STRING or CONFIGURE_VALUE_STRING_ARRAY */
/* skip "=" */
strtok_r(NULL, delimiters_sub, &user_ptr);
if (value_type == CONFIGURE_VALUE_STRING_ARRAY) {
token = strtok_r(NULL, delimiters_sub, &user_ptr);
while (token) {
- buffer_token[count_token] = token;
- MMCAM_LOG_VERBOSE("token : [%s]", buffer_token[count_token]);
+ if (count_token < BUFFER_NUM_TOKEN) {
+ buffer_token[count_token] = token;
+ MMCAM_LOG_VERBOSE("token : [%s]", buffer_token[count_token]);
+ } else {
+ MMCAM_LOG_WARNING("too many token[%s]", token);
+ }
count_token++;
token = strtok_r(NULL, delimiters_sub, &user_ptr);
}
count_token++;
}
}
+ }
- if (count_token < 2) {
- (*info)->detail_info[i] = NULL;
- MMCAM_LOG_WARNING("No string value... check it.[%s]", buffer_details[i]);
- continue;
- }
+ if (count_token < 2 || count_token > BUFFER_NUM_TOKEN) {
+ (*info)->detail_info[i] = NULL;
+ MMCAM_LOG_WARNING("invalid token count[%d]... check it.[%s]", count_token, buffer_details[i]);
+ continue;
}
switch (value_type) {