[pulseaudio-discuss] [PATCH 2/2] bluetooth: Fix alignment warning

Colin Guthrie gmane at colin.guthr.ie
Sun Mar 20 06:10:30 PDT 2011


'Twas brillig, and Arun Raghavan at 19/03/11 12:01 did gyre and gimble:
> While it seems to be common practice to just work around the cast to
> integer and assume alignment is fine, let's play it safe and do it right
> by memcpy'ing.

I've not applied this specific patch as I've just run "make update-sbc"
and that's pulled in upstream bluez changes that also included a similar
patch (it just reuses "ret" variable rather than introducing a new "fd"
var, but is otherwise the same.

Col

> ---
>  src/modules/bluetooth/ipc.c |    7 +++++--
>  1 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/src/modules/bluetooth/ipc.c b/src/modules/bluetooth/ipc.c
> index dcecad8..fdca7a3 100644
> --- a/src/modules/bluetooth/ipc.c
> +++ b/src/modules/bluetooth/ipc.c
> @@ -106,8 +106,11 @@ int bt_audio_service_get_data_fd(int sk)
>  	for (cmsg = CMSG_FIRSTHDR(&msgh); cmsg != NULL;
>  			cmsg = CMSG_NXTHDR(&msgh, cmsg)) {
>  		if (cmsg->cmsg_level == SOL_SOCKET
> -				&& cmsg->cmsg_type == SCM_RIGHTS)
> -			return (*(int *) CMSG_DATA(cmsg));
> +				&& cmsg->cmsg_type == SCM_RIGHTS) {
> +			int fd;
> +			memcpy(&fd, CMSG_DATA(cmsg), sizeof(int));
> +			return fd;
> +		}
>  	}
>  
>  	errno = EINVAL;


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]




More information about the pulseaudio-discuss mailing list