psc_dbg_oob.c
来自「fsmlabs的real time linux的内核」· C语言 代码 · 共 59 行
C
59 行
/* * (C) Finite State Machine Labs Inc. 2000 business@fsmlabs.com * * Released under the terms of GPL 2. * Open RTLinux makes use of a patented process described in * US Patent 5,995,745. Use of this process is governed * by the Open RTLinux Patent License which can be obtained from * www.fsmlabs.com/PATENT or by sending email to * licensequestions@fsmlabs.com */#include <rtlinux_debug.h>#include <rtlinux_signal.h>#include <stdio.h>#include <errno.h>volatile int count;volatile int *countP;void oob_generator(int whatever){ /* try to access memory that should not be accessible to us */ int i; countP = 0; i = *countP;}int main(void){ struct rtlinux_sigaction mysig, oldsig; int i = 5; count = 0; countP = &count; mysig.sa_handler = oob_generator; mysig.sa_flags = RTLINUX_SA_ONESHOT; mysig.sa_period = NSECS_PER_SEC / 4; if (rtlinux_sigaction(RTLINUX_SIGTIMER0, &mysig, &oldsig)) { perror("rtlinux_sigaction"); return errno; } fprintf(stderr, "Restoring signal handler to default in %d\n", i); while (i > 0) { sleep(1); i--; fprintf(stderr, "%d\n", i); } mysig.sa_handler = RTLINUX_SIG_IGN; if (rtlinux_sigaction(RTLINUX_SIGTIMER0, &mysig, &oldsig)) { perror("rtlinux_sigaction"); return errno; } return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?