char *args;
int request_type;
int ret, len;
+ int buffer_len = REQUEST_BUFFER_MAX;
request_type = split_request_type_and_args(buffer, &args);
* Format of response
* - <REQUEST_TYPE[:REQUEST_RESULT_PAYLOAD]:REQUEST_RESULT_VALUE>
*/
- len = sprintf(response, "%d:", request_type);
+ len = snprintf(response, buffer_len, "%d:", request_type);
response += len;
+ buffer_len -= len;
switch (request_type) {
case REQUEST_CREATE_RESOURCE:
if (ret < 0)
_D("failed to get value");
- len = sprintf(response, "%d:", value);
+ len = snprintf(response, buffer_len, "%d:", value);
response += len;
+ buffer_len -= len;
}
break;
default:
ret = -EINVAL;
break;
}
- sprintf(response, "%d", ret);
+ snprintf(response, buffer_len, "%d", ret);
if (send(client->socket_fd, _response, strlen(_response), 0) < 0)
_E("Failed to send respones, error: %s", strerror(errno));