LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

post-factum

http://stackoverflow.com/questions/1025589/setting-variable-to-null-after-free

Пример:

int main(void) {
  ...
  char *out_intgr = NULL; // Инициализировать указатель
  ...
  out_intgr = (char*) malloc( ( length + 1 ) * sizeof(char) ); // Зарезервировать память
  if (out_intgr == NULL) return -3; // Если не удалось зарезервировать, завершить программу
  ...
  free(out_intgr); // Освободить память буфера
  out_intgr = NULL;
  ...
}

char get_char(int f) {
  ...
  // Если память буфера зарезервирована, освободить её
  if (out_intgr != NULL) free(out_intgr);
  exit(-4);
}

См. исходный ход примера полностью

Исправление Deleted, :

post-factum

http://stackoverflow.com/questions/1025589/setting-variable-to-null-after-free

Пример:

int main(void) {
  ...
  char *out_intgr = NULL; // Инициализировать указатель
  ...
  free(out_intgr); // Освободить память буфера
  out_intgr = NULL;
  ...
}

char get_char(int f) {
  ...
  // Если память буфера зарезервирована, освободить её
  if (out_intgr != NULL) free(out_intgr);
  exit(-4);
}

См. исходный ход примера полностью

Исправление Deleted, :

post-factum

http://stackoverflow.com/questions/1025589/setting-variable-to-null-after-free

Пример:

int main(void) {
  ...
  char *out_intgr = NULL; // Инициализировать указатель
  ...
  free(out_intgr); // Освободить память буфера
  out_intgr = NULL;
  ...
}

char get_char(int f) {
  ...
  // Если память буфера зарезервирована, освободить её
  if (out_intgr != NULL) free(out_intgr);
  exit(-4);
}

См. исходный ход примера полностью

Исходная версия Deleted, :

Тоже стараюсь аккуратно использовать указатели

post-factum

http://stackoverflow.com/questions/1025589/setting-variable-to-null-after-free

Пример:

int main(void) {
  ...
  char *out_intgr = NULL; // Инициализировать указатель
  ...
  free(out_intgr); // Освободить память буфера
  out_intgr = NULL;
  ...
}

char get_char(int f) {
  ...
  // Если память буфера зарезервирована, освободить её
  if (out_intgr != NULL) free(out_intgr);
  exit(-4);
}

См. исходный ход примера полностью