{
int ret = SCMIRRORING_ERROR_NONE;
char *_cmd = NULL;
+ int _cmdLen = 0;
int client_sock = -1;
- if (server == NULL) {
- scmirroring_error("OUT_OF_MEMORY");
+ if (server == NULL || cmd == NULL) {
+ scmirroring_error("Invaild server or cmd!");
return SCMIRRORING_ERROR_INVALID_OPERATION;
}
}
_cmd = g_strdup(cmd);
- _cmd[strlen(_cmd)] = '\0';
+ if (_cmd == NULL) {
+ scmirroring_error("Faild in g_strdup for cmd!");
+ return SCMIRRORING_ERROR_OUT_OF_MEMORY;
+ }
- if (write(client_sock, _cmd, strlen(_cmd) + 1) != ((int)(strlen(_cmd) + 1))) {
+ _cmdLen = strlen(_cmd) + 1;
+ if (write(client_sock, _cmd, _cmdLen) != _cmdLen) {
char buf[255] = {0, };
strerror_r(errno, buf, sizeof(buf));
scmirroring_error("sendto failed [%s]", buf);
{
int ret = SCMIRRORING_ERROR_NONE;
char *_cmd = NULL;
+ int _cmdLen = 0;
scmirroring_retvm_if(scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is NULL");
scmirroring_retvm_if(cmd == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "cmd is NULL");
_cmd = g_strdup(cmd);
- _cmd[strlen(_cmd)] = '\0';
+ if (_cmd == NULL) {
+ scmirroring_error("Out of memory for command buffer");
+ return SCMIRRORING_ERROR_OUT_OF_MEMORY;
+ }
- if (write(scmirroring->sock, _cmd, strlen(_cmd) + 1) != (signed int) strlen(_cmd) + 1) {
+ _cmdLen = strlen(_cmd) + 1;
+ if (write(scmirroring->sock, _cmd, _cmdLen) != _cmdLen) {
char buf[255] = {0, };
strerror_r(errno, buf, sizeof(buf));
scmirroring_error("sendto failed [%s]", buf);