mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-30 08:17:58 +00:00
driver: Check if process has an associated terminal
Return ENOTTY if thisProcess->tty is null for any operation.
This commit is contained in:
parent
396ad681ba
commit
a2e9747ee8
@ -154,7 +154,12 @@ namespace Driver
|
|||||||
case 6: /* /dev/kcon */
|
case 6: /* /dev/kcon */
|
||||||
return KernelConsole::CurrentTerminal.load()->Read(Buffer, Size, Offset);
|
return KernelConsole::CurrentTerminal.load()->Read(Buffer, Size, Offset);
|
||||||
case 7: /* /dev/tty */
|
case 7: /* /dev/tty */
|
||||||
return ((TTY::TeletypeDriver *)thisProcess->tty)->Read(Buffer, Size, Offset);
|
{
|
||||||
|
TTY::TeletypeDriver *tty = (TTY::TeletypeDriver *)thisProcess->tty;
|
||||||
|
if (tty == nullptr)
|
||||||
|
return -ENOTTY;
|
||||||
|
return tty->Read(Buffer, Size, Offset);
|
||||||
|
}
|
||||||
case 8: /* /dev/ptmx */
|
case 8: /* /dev/ptmx */
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
default:
|
default:
|
||||||
@ -250,7 +255,12 @@ namespace Driver
|
|||||||
case 6: /* /dev/kcon */
|
case 6: /* /dev/kcon */
|
||||||
return KernelConsole::CurrentTerminal.load()->Write(Buffer, Size, Offset);
|
return KernelConsole::CurrentTerminal.load()->Write(Buffer, Size, Offset);
|
||||||
case 7: /* /dev/tty */
|
case 7: /* /dev/tty */
|
||||||
return ((TTY::TeletypeDriver *)thisProcess->tty)->Write(Buffer, Size, Offset);
|
{
|
||||||
|
TTY::TeletypeDriver *tty = (TTY::TeletypeDriver *)thisProcess->tty;
|
||||||
|
if (tty == nullptr)
|
||||||
|
return -ENOTTY;
|
||||||
|
return tty->Write(Buffer, Size, Offset);
|
||||||
|
}
|
||||||
case 8: /* /dev/ptmx */
|
case 8: /* /dev/ptmx */
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
default:
|
default:
|
||||||
@ -311,7 +321,12 @@ namespace Driver
|
|||||||
case 6: /* /dev/kcon */
|
case 6: /* /dev/kcon */
|
||||||
return KernelConsole::CurrentTerminal.load()->Open(Flags, Mode);
|
return KernelConsole::CurrentTerminal.load()->Open(Flags, Mode);
|
||||||
case 7: /* /dev/tty */
|
case 7: /* /dev/tty */
|
||||||
return ((TTY::TeletypeDriver *)thisProcess->tty)->Open(Flags, Mode);
|
{
|
||||||
|
TTY::TeletypeDriver *tty = (TTY::TeletypeDriver *)thisProcess->tty;
|
||||||
|
if (tty == nullptr)
|
||||||
|
return -ENOTTY;
|
||||||
|
return tty->Open(Flags, Mode);
|
||||||
|
}
|
||||||
case 8: /* /dev/ptmx */
|
case 8: /* /dev/ptmx */
|
||||||
return ptmx->Open();
|
return ptmx->Open();
|
||||||
default:
|
default:
|
||||||
@ -367,7 +382,12 @@ namespace Driver
|
|||||||
case 6: /* /dev/kcon */
|
case 6: /* /dev/kcon */
|
||||||
return KernelConsole::CurrentTerminal.load()->Close();
|
return KernelConsole::CurrentTerminal.load()->Close();
|
||||||
case 7: /* /dev/tty */
|
case 7: /* /dev/tty */
|
||||||
return ((TTY::TeletypeDriver *)thisProcess->tty)->Close();
|
{
|
||||||
|
TTY::TeletypeDriver *tty = (TTY::TeletypeDriver *)thisProcess->tty;
|
||||||
|
if (tty == nullptr)
|
||||||
|
return -ENOTTY;
|
||||||
|
return tty->Close();
|
||||||
|
}
|
||||||
case 8: /* /dev/ptmx */
|
case 8: /* /dev/ptmx */
|
||||||
return ptmx->Close();
|
return ptmx->Close();
|
||||||
default:
|
default:
|
||||||
@ -423,7 +443,12 @@ namespace Driver
|
|||||||
case 6: /* /dev/kcon */
|
case 6: /* /dev/kcon */
|
||||||
return KernelConsole::CurrentTerminal.load()->Ioctl(Request, Argp);
|
return KernelConsole::CurrentTerminal.load()->Ioctl(Request, Argp);
|
||||||
case 7: /* /dev/tty */
|
case 7: /* /dev/tty */
|
||||||
return ((TTY::TeletypeDriver *)thisProcess->tty)->Ioctl(Request, Argp);
|
{
|
||||||
|
TTY::TeletypeDriver *tty = (TTY::TeletypeDriver *)thisProcess->tty;
|
||||||
|
if (tty == nullptr)
|
||||||
|
return -ENOTTY;
|
||||||
|
return tty->Ioctl(Request, Argp);
|
||||||
|
}
|
||||||
case 8: /* /dev/ptmx */
|
case 8: /* /dev/ptmx */
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user