Skip to content

Commit

Permalink
Use snprintf rather than double strncpy.
Browse files Browse the repository at this point in the history
  • Loading branch information
noahgibbs authored and XrXr committed Oct 20, 2021
1 parent e2fe7e4 commit 6998246
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions yjit_iface.c
Expand Up @@ -766,10 +766,9 @@ get_yjit_stats(rb_execution_context_t *ec, VALUE self)
// where the value is the count of side exits for that instruction.

char key_string[rb_vm_max_insn_name_size + 6]; // Leave room for "exit_" and a final NUL
strncpy(key_string, "exit_", 6); // Copy 6 characters to include the NUL.
for (int i = 0; i < VM_INSTRUCTION_SIZE; i++) {
const char *i_name = insn_name(i); // Look up Ruby's NUL-terminated insn name string
strncpy(key_string + 5, i_name, rb_vm_max_insn_name_size + 1);
snprintf(key_string, rb_vm_max_insn_name_size + 6, "%s%s", "exit_", i_name);

VALUE key = ID2SYM(rb_intern(key_string));
VALUE value = LL2NUM((long long)exit_op_count[i]);
Expand Down

0 comments on commit 6998246

Please sign in to comment.