Merge pull request #312 from fjricci/fix_ub
Fix misaligned memory access in ffi_call_int
This commit is contained in:
@@ -646,10 +646,10 @@ ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue,
|
|||||||
break;
|
break;
|
||||||
case X86_64_SSE_CLASS:
|
case X86_64_SSE_CLASS:
|
||||||
case X86_64_SSEDF_CLASS:
|
case X86_64_SSEDF_CLASS:
|
||||||
reg_args->sse[ssecount++].i64 = *(UINT64 *) a;
|
memcpy (®_args->sse[ssecount++].i64, a, sizeof(UINT64));
|
||||||
break;
|
break;
|
||||||
case X86_64_SSESF_CLASS:
|
case X86_64_SSESF_CLASS:
|
||||||
reg_args->sse[ssecount++].i32 = *(UINT32 *) a;
|
memcpy (®_args->sse[ssecount++].i32, a, sizeof(UINT32));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
|
|||||||
Reference in New Issue
Block a user