Asan bug fix
diff --git a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c
index 2060009..dda39a4 100644
--- a/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c
+++ b/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c
@@ -161,13 +161,14 @@
   char* user_agent_str = grpc_slice_to_c_string(GRPC_MDVALUE(md));
   bool grpc_objc_specifier_seen = false;
   bool cronet_specifier_seen = false;
-  char *major_version = user_agent_str, *minor_version;
+  char *major_version_str = user_agent_str, *minor_version_str;
+  long major_version, minor_version;
 
   char* head = strtok(user_agent_str, " ");
   while (head != NULL) {
     if (!grpc_objc_specifier_seen &&
         0 == strncmp(head, grpc_objc_specifier, grpc_objc_specifier_len)) {
-      major_version = head + grpc_objc_specifier_len;
+      major_version_str = head + grpc_objc_specifier_len;
       grpc_objc_specifier_seen = true;
     } else if (grpc_objc_specifier_seen &&
                0 == strncmp(head, cronet_specifier, cronet_specifier_len)) {
@@ -178,14 +179,16 @@
     head = strtok(NULL, " ");
   }
   if (grpc_objc_specifier_seen) {
-    major_version = strtok(major_version, ".");
-    minor_version = strtok(NULL, ".");
+    major_version_str = strtok(major_version_str, ".");
+    minor_version_str = strtok(NULL, ".");
+    major_version = atol(major_version_str);
+    minor_version = atol(minor_version_str);
   }
 
   gpr_free(user_agent_str);
   return (grpc_objc_specifier_seen && cronet_specifier_seen &&
-          (atol(major_version) < 1 ||
-           (atol(major_version) == 1 && atol(minor_version) <= 3)));
+          (major_version < 1 ||
+           (major_version == 1 && minor_version <= 3)));
 }
 
 const grpc_channel_filter grpc_workaround_cronet_compression_filter = {