I'm trying to figure out if this could somehow be overflowed: 

```
void print_address(char *p)
{
  arp_ hw;
  int i;

  hw.length = (size) *(p + _OFFSET1); //189 + 4 = 193
  memcpy(hw.addr, packet + _OFFSET2, hw.length);

  return;
}

```

where packet is an input read from a .txt file?