diff 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
line wrap: on
line diff
--- a/68kinst.c	Fri Oct 06 00:20:37 2023 -0700
+++ b/68kinst.c	Sat Oct 07 18:04:35 2023 -0700
@@ -150,7 +150,7 @@
 			dst->addr_mode = MODE_ABSOLUTE;
 			ext = fetch(address, data);
 			address += 2;
-			dst->params.immed = ext << 16 | fetch(address, data);
+			dst->params.immed = ((uint32_t)ext) << 16 | fetch(address, data);
 			address += 2;
 			break;
 		case 3:
@@ -268,7 +268,7 @@
 				dst->params.immed = ext;
 				break;
 			case OPSIZE_LONG:
-				dst->params.immed = ext << 16 | fetch(address, data);
+				dst->params.immed = ((uint32_t)ext) << 16 | fetch(address, data);
 				address += 2;
 				break;
 			}