diff --git a/rdmsr.c b/rdmsr.c index b19986a..48e70a3 100644 --- a/rdmsr.c +++ b/rdmsr.c @@ -194,7 +194,11 @@ int main(int argc, char *argv[]) exit(127); } - reg = strtoul(argv[optind], NULL, 0); + reg = strtoul(argv[optind], &endarg, 0); + if (*endarg) { + printf("Failed to parse register number. Do you need a prefix?\n"); + exit(127); + } if (cpu == -1) { doing_for_all = 1; diff --git a/wrmsr.c b/wrmsr.c index b32cc3e..0128153 100644 --- a/wrmsr.c +++ b/wrmsr.c @@ -121,7 +121,11 @@ int main(int argc, char *argv[]) exit(127); } - reg = strtoul(argv[optind++], NULL, 0); + reg = strtoul(argv[optind++], &endarg, 0); + if (*endarg) { + printf("Failed to parse register number. Do you need a prefix?\n"); + exit(127); + } if (cpu == -1) { doing_for_all = 1;