小编Pos*_*ine的帖子

内存泄漏通过new []而没有调用new

我从以下函数中获取内存泄漏:

int ReadWrite(int socket, char *readfile) {
  FILE *rf = NULL;
  rf = fopen(readfile, "rb");
  fseek(rf, 0, SEEK_END);
  int len = ftell(rf);
  rewind(rf);

  char readbuf[len + 1];

  int res = fread(readbuf, len, 1, rf);
  readbuf[len + 1] = '\0';
  fclose(rf);
  while (1) {
    int wres = write(socket, readbuf, res);
    if (wres == 0) {
      cerr << "socket closed prematurely" << endl;
      close(socket);
      return EXIT_FAILURE;
    }
    if (res == -1) {
      if (errno == EINTR)
        continue;
      cerr << "socket write failure: …
Run Code Online (Sandbox Code Playgroud)

c++ valgrind memory-leaks new-operator fread

0
推荐指数
1
解决办法
218
查看次数

标签 统计

c++ ×1

fread ×1

memory-leaks ×1

new-operator ×1

valgrind ×1