goto out;
}
LOGI("##### encode_datalen : %d", encode_datalen);
+ if (encode_datalen <= 0 || encode_datalen >= MAX_REQUEST_ARGUMENT_SIZE) {
+ retval = DATACONTROL_ERROR_IO_ERROR;
+ LOGE("Invalid encode_datalen %d", encode_datalen);
+ goto out;
+ }
encode_data = (char *)calloc(encode_datalen, sizeof(char));
+ if (encode_data == NULL) {
+ retval = DATACONTROL_ERROR_IO_ERROR;
+ LOGE("FAIL to alloc encode data");
+ goto out;
+ }
if (_read_socket(fd, encode_data, encode_datalen, &nb) != DATACONTROL_ERROR_NONE) {
retval = DATACONTROL_ERROR_IO_ERROR;
LOGE("read socket fail: encode_data");
+ free(encode_data);
goto out;
}
result_data = bundle_decode_raw((bundle_raw *)encode_data, encode_datalen);
int datacontrol_map_add_bulk_data(datacontrol_h provider, data_control_bulk_data_h bulk_data_h, int *request_id)
{
- long long arg_size;
+ long long arg_size = 0;
bundle *b;
bundle *data;
const char *arg_list[3];
goto out;
}
LOGI("##### encode_datalen : %d", encode_datalen);
+ if (encode_datalen <= 0 || encode_datalen >= MAX_REQUEST_ARGUMENT_SIZE) {
+ retval = DATACONTROL_ERROR_IO_ERROR;
+ LOGE("Invalid encode_datalen %d", encode_datalen);
+ goto out;
+ }
encode_data = (char *)calloc(encode_datalen, sizeof(char));
+ if (encode_data == NULL) {
+ retval = DATACONTROL_ERROR_IO_ERROR;
+ LOGE("FAIL to alloc encode data");
+ goto out;
+ }
if (_read_socket(fd, encode_data, encode_datalen, &nb) != DATACONTROL_ERROR_NONE) {
retval = DATACONTROL_ERROR_IO_ERROR;
LOGE("read socket fail: encode_data");
+ free(encode_data);
goto out;
}
result_data = bundle_decode_raw((bundle_raw *)encode_data, encode_datalen);