else
message = g_strdup_printf("%s%s%s%s%d%s%s", mc_client->client_name, MC_STRING_DELIMITER, command, MC_STRING_DELIMITER, size_r, MC_STRING_DELIMITER, (unsigned char *)raw_data);
+ if (raw_data != NULL)
+ bundle_free_encoded_rawdata(&raw_data);
+
if (message == NULL) {
mc_error("Error when making message");
return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
}
}
- message = g_strdup_printf("%s%s%d%s%d%s%s", mc_server->server_name, MC_STRING_DELIMITER, result_code, MC_STRING_DELIMITER, size_r, MC_STRING_DELIMITER, (unsigned char *)raw_data);
+ if ((size_r == 0) || (raw_data == NULL))
+ message = g_strdup_printf("%s%s%d%s%d%s", mc_server->server_name, MC_STRING_DELIMITER, result_code, MC_STRING_DELIMITER, size_r);
+ else
+ message = g_strdup_printf("%s%s%d%s%d%s%s", mc_server->server_name, MC_STRING_DELIMITER, result_code, MC_STRING_DELIMITER, size_r, MC_STRING_DELIMITER, (unsigned char *)raw_data);
+
+ if (raw_data)
+ bundle_free_encoded_rawdata(&raw_data);
char *interface_name = mc_util_get_interface_name(MC_CLIENT, client_name);
ret = mc_ipc_send_message(mc_server->dconn, NULL, interface_name, MC_DBUS_SIGNAL_NAME_CMD_REPLY, message, 0);
(old_word[i] == '_' && i != 0)) {
new_word[j++] = old_word[i];
} else {
- new_word[j++] = 'A';
- new_word[j++] = 'P';
- new_word[j++] = 'P';
- new_word[j++] = 'I';
- new_word[j++] = 'D';
- new_word[j++] = '_';
- new_word[j++] = 'S';
- new_word[j++] = 'E';
- new_word[j++] = 'P';
+ if (j + 9 < sizeof(new_word)) {
+ new_word[j++] = 'A';
+ new_word[j++] = 'P';
+ new_word[j++] = 'P';
+ new_word[j++] = 'I';
+ new_word[j++] = 'D';
+ new_word[j++] = '_';
+ new_word[j++] = 'S';
+ new_word[j++] = 'E';
+ new_word[j++] = 'P';
+ } else {
+ mc_error("Error failed to check valid name due to overrun!");
+ }
}
}