… | |
… | |
459 | msg_is_safe (const char *msg) |
459 | msg_is_safe (const char *msg) |
460 | { |
460 | { |
461 | bool safe = true; |
461 | bool safe = true; |
462 | |
462 | |
463 | /* Trying to cheat by getting data into the object */ |
463 | /* Trying to cheat by getting data into the object */ |
464 | if (!strncmp (msg, "endmsg", strlen ("endmsg")) || strstr (msg, "\nendmsg")) |
464 | if (!strncmp (msg, "endmsg", sizeof ("endmsg") - 1) |
|
|
465 | || strstr (msg, "\nendmsg")) |
465 | safe = false; |
466 | safe = false; |
466 | |
467 | |
467 | /* Trying to make the object talk, and potentially access arbitrary code */ |
468 | /* Trying to make the object talk, and potentially access arbitrary code */ |
468 | if (object::msg_has_dialogue (msg)) |
469 | if (object::msg_has_dialogue (msg)) |
469 | safe = false; |
470 | safe = false; |