Skip to content

Commit d3075c9

Browse files
committedApr 20, 2024
Fix bundled_resources key calculation optimization
1 parent ea871c5 commit d3075c9

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed
 

‎src/mono/mono/metadata/bundled-resources.c

+4-5
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,12 @@ key_from_id (const char *id, char *buffer, guint buffer_len)
8787
buffer_len = (guint)(id_length + 1);
8888
buffer = g_malloc(buffer_len);
8989
}
90+
buffer[0] = 0;
9091

9192
if (extension_offset && bundled_resources_is_known_assembly_extension (extension))
92-
strncpy(buffer, id, MIN(buffer_len - 1, extension_offset + 1));
93+
g_strlcpy(buffer, id, MIN(buffer_len, extension_offset + 1));
9394
else
94-
strncpy(buffer, id, MIN(buffer_len - 1, id_length));
95-
96-
buffer[buffer_len - 1] = 0;
95+
g_strlcpy(buffer, id, MIN(buffer_len, id_length + 1));
9796

9897
return buffer;
9998
}
@@ -163,7 +162,7 @@ mono_bundled_resources_add (MonoBundledResource **resources_to_bundle, uint32_t
163162
char *key = key_from_id (resource_to_bundle->id, NULL, 0);
164163
dn_simdhash_ptr_ptr_try_add (bundled_resource_key_lookup_table, (void *)resource_to_bundle->id, key);
165164

166-
dn_simdhash_ght_try_add (bundled_resources, (gpointer) key, resource_to_bundle);
165+
g_assert (dn_simdhash_ght_try_add (bundled_resources, (gpointer) key, resource_to_bundle));
167166
g_assert (bundled_resources_get (resource_to_bundle->id) == resource_to_bundle);
168167
}
169168

0 commit comments

Comments
 (0)