Test ukazatele (Re: KOMPILACE, GCC PODRUHE)

peak na kerberos.troja.mff.cuni.cz peak na kerberos.troja.mff.cuni.cz
Středa Srpen 13 17:21:26 CEST 1997


On Wed, 13 Aug 1997, Zdenek Pizl, Czech Agriculture University, Prague wrote:

>  lze nejak v programu zjistit, ze pointer ukazuje mimo muj adresni prostor
> ?? Samozrejme tak aby to program prezil bez SIGSEGV apod.

#include <signal.h>

static int addr_ok;

static void segv_handler()
{ addr_ok = 0; }

int test_ptr(char *ptr)
{
  char x;
  struct sigaction new_sa, old_sa;
  new_sa.sa_handler = &segv_handler;
  sigemptyset(&new_sa.sa_mask);
  new_sa.sa_flags = 0;
  addr_ok = 1;
  sigaction(SIGSEGV, &new_sa, &old_sa);
  x = *ptr;
  sigaction(SIGSEGV, &old_sa, NULL);
  return addr_ok;
}

(nezkousel jsem to v praxi, ale melo by to fungovat)

--Pavel Kankovsky aka Peak (troja.mff.cuni.cz network administration)



Další informace o konferenci Linux