| 134 | } |
| 135 | |
| 136 | static BOOL UpdateView(HWND hDlg) |
| 137 | { |
| 138 | if (lpData_WHWH == NULL) |
| 139 | { |
| 140 | hdrWHWH = *(PWHWH_HDR)lpItemData; |
| 141 | |
| 142 | if (hdrWHWH.u32Magic != HWNP_WHWH_MAGIC) return FALSE; |
| 143 | |
| 144 | lpData_WHWH = malloc(hdrWHWH.u32RearSize); |
| 145 | if (lpData_WHWH == NULL) return FALSE; |
| 146 | memcpy_s(lpData_WHWH, hdrWHWH.u32RearSize, MakePointer32(lpItemData, sizeof(WHWH_HDR)), hdrWHWH.u32RearSize); |
| 147 | } |
| 148 | |
| 149 | if (hdrWHWH.u32RearSize >= sizeof(UIMG_HDR)) |
| 150 | { |
| 151 | hdrUIMG = *(PUIMG_HDR)(lpData_WHWH); |
| 152 | |
| 153 | if (hdrUIMG.ih_magic == IH_MAGIC_LE) |
| 154 | { |
| 155 | if (hdrWHWH.u32RearSize - sizeof(UIMG_HDR) >= BigLittleSwap32(hdrUIMG.ih_size)) |
| 156 | { |
| 157 | blUIMG = TRUE; |
| 158 | } |
| 159 | else |
| 160 | { |
| 161 | blUIMG = FALSE; |
| 162 | MessageBoxW(hDlg, L"UIMG数据长度大于项目数据长度!", L"警告", MB_ICONWARNING | MB_OK); |
| 163 | } |
| 164 | |
| 165 | /* |
| 166 | if (u32DataSize - (sizeof(WHWH_HDR) + sizeof(UIMG_HDR)) >= BigLittleSwap32(hdrUIMG.ih_size)) |
| 167 | { |
| 168 | blUIMG = TRUE; |
| 169 | } |
| 170 | else |
| 171 | { |
| 172 | blUIMG = FALSE; |
| 173 | MessageBoxW(hDlg, L"UIMG数据长度大于项目数据长度!", L"警告", MB_ICONWARNING | MB_OK); |
| 174 | } |
| 175 | */ |
| 176 | } |
| 177 | else |
| 178 | blUIMG = FALSE; |
| 179 | } |
| 180 | else |
| 181 | blUIMG = FALSE; |
| 182 | |
| 183 | EnableWindow_UBootGroup(hDlg, blUIMG); |
| 184 | |
| 185 | if ((blUIMG) && (lpData_UIMG == NULL)) |
| 186 | { |
| 187 | lpData_UIMG = malloc(BigLittleSwap32(hdrUIMG.ih_size)); |
| 188 | |
| 189 | if (lpData_UIMG == NULL) |
| 190 | { |
| 191 | blUIMG = FALSE; |
| 192 | EnableWindow_UBootGroup(hDlg, blUIMG); |
| 193 | } |
no test coverage detected