mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Validate the typed data before dereferencing the internal struct. (#8315)
This commit is contained in:
parent
141102b0b0
commit
901b6d9c50
Notes:
git
2023-08-29 08:04:49 +00:00
Merged-By: ioquatix <samuel@codeotaku.com>
2 changed files with 24 additions and 2 deletions
|
@ -1222,7 +1222,7 @@ rb_waitpid(rb_pid_t pid, int *st, int flags)
|
|||
VALUE status = rb_process_status_wait(pid, flags);
|
||||
if (NIL_P(status)) return 0;
|
||||
|
||||
struct rb_process_status *data = RTYPEDDATA_DATA(status);
|
||||
struct rb_process_status *data = rb_check_typeddata(status, &rb_process_status_type);
|
||||
pid = data->pid;
|
||||
|
||||
if (st) *st = data->status;
|
||||
|
@ -4748,7 +4748,8 @@ rb_f_system(int argc, VALUE *argv, VALUE _)
|
|||
|
||||
if (pid > 0) {
|
||||
VALUE status = rb_process_status_wait(pid, 0);
|
||||
struct rb_process_status *data = RTYPEDDATA_DATA(status);
|
||||
|
||||
struct rb_process_status *data = rb_check_typeddata(status, &rb_process_status_type);
|
||||
|
||||
// Set the last status:
|
||||
rb_obj_freeze(status);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue