On Sun, 13 Jan 2008, David Shaw wrote: > > As can be seen at [0] paperkey fails to build from source on sparc[1]. > > The testsuite fails due to unaligned memory access in sha1_read_ctx. > > Interesting. I actually tested on Solaris running sparc, too. Your > patch seems fine, but the sha1 code actually comes from gnulib, so the > alignment fix should be sent there. With your permission, I'll > forward it.
By all means. > Until gnulib fixes the alignment issue, how about this patch for > paperkey? It mallocs the buffer, which should ensure that it is > correctly aligned. > else if(packet->buf[0]==4) > { > - struct sha1_ctx sha; > + struct sha1_ctx *sha; > unsigned char head[3]; > > - sha1_init_ctx(&sha); > + sha=xmalloc(sizeof(*sha)); > > + sha1_init_ctx(sha); > + > head[0]=0x99; > head[1]=public_len>>8; > head[2]=public_len&0xFF; > > - sha1_process_bytes(head,3,&sha); > - sha1_process_bytes(packet->buf,public_len,&sha); > - sha1_finish_ctx(&sha,fingerprint); > + sha1_process_bytes(head,3,sha); > + sha1_process_bytes(packet->buf,public_len,sha); > + sha1_finish_ctx(sha,fingerprint); > + > + free(sha); > } I don't think that'd fix it - the sha struct was aligned properly, the fingerprint wasn't. Peter -- | .''`. ** Debian GNU/Linux ** Peter Palfrader | : :' : The universal http://www.palfrader.org/ | `. `' Operating System | `- http://www.debian.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]