From 0a4264bb205a6d77f04d9861269ed26b11df1633 Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Fri, 5 Jun 2009 21:43:54 +0200 Subject: [PATCH] Avoid unaligned access nbd-tester-client tried to write to a char array in a packed struct by casting it to an u64 pointer and dereferencing it. That causes unaligned access and, hence, a SIGBUS on SPARC. Fix by using memcpy instead. --- nbd-tester-client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbd-tester-client.c b/nbd-tester-client.c index 40a6363..3dde737 100644 --- a/nbd-tester-client.c +++ b/nbd-tester-client.c @@ -245,7 +245,7 @@ int throughput_test(gchar* hostname, int port, int sock, char sock_is_open, char } for(i=0;i+1024<=size;i+=1024) { if(do_write) { - *((u64*)req.handle)=i; + memcpy(&(req.handle),&i,sizeof(i)); req.from=htonll(i); write(sock, &req, sizeof(req)); printf("Requests(+): %d\n", ++requests); -- 1.7.10.4