Clear errno before call to strtol(3).
Since strtol(3) doesn't clear errno on success, anything that sets
errno prior to this call will make it look like the call failed. This
happens when built with ASAN.
Signed-off-by: Dan Albert <danalbert@google.com>
Acked-by: Steve Lawrence <slawrence@tresys.com>
Change-Id: Iddc2420c60f68b267df2af951620e92b3c8c14db
diff --git a/checkpolicy.c b/checkpolicy.c
index 292f568..2a09734 100644
--- a/checkpolicy.c
+++ b/checkpolicy.c
@@ -452,7 +452,9 @@
mlspol = 1;
break;
case 'c':{
- long int n = strtol(optarg, NULL, 10);
+ long int n;
+ errno = 0;
+ n = strtol(optarg, NULL, 10);
if (errno) {
fprintf(stderr,
"Invalid policyvers specified: %s\n",