}
case MONO_PATCH_INFO_LDSTR_LIT: {
const char *s = patch_info->data.target;
+ int len = strlen (s);
- encode_value (strlen (s), p, &p);
- memcpy (p, s, strlen (s) + 1);
+ encode_value (len, p, &p);
+ memcpy (p, s, len + 1);
+ p += len + 1;
break;
}
default:
int len = decode_value (p, &p);
char *s;
- s = mono_mempool_alloc0 (mp, len + 1);
+ s = mono_mempool_alloc0 (mp, len + 1);
memcpy (s, p, len + 1);
p += len + 1;
break;
}
case MONO_PATCH_INFO_LDSTR_LIT: {
- target = mono_string_new (domain, patch_info->data.target);
+ int len;
+ char *s;
+
+ len = strlen (patch_info->data.target);
+ s = mono_domain_alloc0 (domain, len + 1);
+ memcpy (s, patch_info->data.target, len);
+ target = s;
+
break;
}
default: