Fix potentialyl unaligned memory accesses in mflash driver.
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 27 May 2009 23:54:16 +0000 (23:54 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 27 May 2009 23:54:16 +0000 (23:54 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1935 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/flash/mflash.c

index f2cfd4a111f49a053a40fc48bd85b9c13e85f61a..47c73382c1da02f23f7fcd1a5ae0b2049cd195ed 100644 (file)
@@ -1126,8 +1126,9 @@ static int mg_set_pll(mg_pll_t *pll)
        u8 buff[512];
 
        memset(buff, 0xff, 512);
-       *((u32 *)&buff[0]) = pll->lock_cyc;     /* PLL Lock cycle */
-       *((u16 *)&buff[4]) = pll->feedback_div; /* PLL Feedback 9bit Divider */
+       /* PLL Lock cycle and Feedback 9bit Divider */
+       memcpy(buff, &pll->lock_cyc, sizeof(u32));
+       memcpy(buff + 4, &pll->feedback_div, sizeof(u16));
        buff[6] = pll->input_div;               /* PLL Input 5bit Divider */
        buff[7] = pll->output_div;              /* PLL Output Divider */