comparison 68kinst.c @ 2346:0111c8344477

Fix some issues identified by asan/ubsan
author Michael Pavone <pavone@retrodev.com>
date Sat, 07 Oct 2023 18:04:35 -0700
parents d8b0244101c4
children
comparison
equal deleted inserted replaced
2345:c76c81c21ae5 2346:0111c8344477
148 break; 148 break;
149 case 1: 149 case 1:
150 dst->addr_mode = MODE_ABSOLUTE; 150 dst->addr_mode = MODE_ABSOLUTE;
151 ext = fetch(address, data); 151 ext = fetch(address, data);
152 address += 2; 152 address += 2;
153 dst->params.immed = ext << 16 | fetch(address, data); 153 dst->params.immed = ((uint32_t)ext) << 16 | fetch(address, data);
154 address += 2; 154 address += 2;
155 break; 155 break;
156 case 3: 156 case 3:
157 ext = fetch(address, data); 157 ext = fetch(address, data);
158 address += 2; 158 address += 2;
266 break; 266 break;
267 case OPSIZE_WORD: 267 case OPSIZE_WORD:
268 dst->params.immed = ext; 268 dst->params.immed = ext;
269 break; 269 break;
270 case OPSIZE_LONG: 270 case OPSIZE_LONG:
271 dst->params.immed = ext << 16 | fetch(address, data); 271 dst->params.immed = ((uint32_t)ext) << 16 | fetch(address, data);
272 address += 2; 272 address += 2;
273 break; 273 break;
274 } 274 }
275 break; 275 break;
276 default: 276 default: