阅读背景:

怎么能让这个缓冲区溢出?

来源:互联网 
void display(const char *path)
{
  char msg[128];
  int8_t size;
  memset(msg, 0, 128);

  FILE *file = fopen(path, "r");
  size_t n = fread(&size, 1, 1, file);
  if (n == 0 || size > 128)
    return;
  n = fread(msg, 1, size, file);

  puts(msg);
}


int main(int argc, char *argv[])
{
  if (argc != 2)
    return 1;

  display(argv[1]);
  return 0;
}
void display(const char *path)
{
  char msg[128



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: