Просмотр исходного кода

* apt-pkg/deb/dpkgpm.cc:
- don't segfault if term.log file can't be opened.
Thanks Sam Brightman for the patch! (Closes: #475770)

David Kalnischkies лет назад: 16
Родитель
Сommit
3ad676a142
2 измененных файлов с 7 добавлено и 3 удалено
  1. 4 3
      apt-pkg/deb/dpkgpm.cc
  2. 3 0
      debian/changelog

+ 4 - 3
apt-pkg/deb/dpkgpm.cc

@@ -561,15 +561,16 @@ bool pkgDPkgPM::OpenLog()
    if (!logfile_name.empty())
    {
       term_out = fopen(logfile_name.c_str(),"a");
+      if (term_out == NULL)
+	 return _error->WarningE(_("Could not open file '%s'"), logfile_name.c_str());
+
       chmod(logfile_name.c_str(), 0600);
       // output current time
       char outstr[200];
       time_t t = time(NULL);
       struct tm *tmp = localtime(&t);
       strftime(outstr, sizeof(outstr), "%F  %T", tmp);
-      fprintf(term_out, "\nLog started: ");
-      fprintf(term_out, "%s", outstr);
-      fprintf(term_out, "\n");
+      fprintf(term_out, "\nLog started: %s\n", outstr);
    }
    return true;
 }

+ 3 - 0
debian/changelog

@@ -35,6 +35,9 @@ apt (0.7.25.2) UNRELEASED; urgency=low
     - add partfile name convention (Closes: #558348)
   * doc/apt_preferences.conf.5.xml:
     - describe partfile name convention also here
+  * apt-pkg/deb/dpkgpm.cc:
+    - don't segfault if term.log file can't be opened.
+      Thanks Sam Brightman for the patch! (Closes: #475770)
 
  -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 16 Jan 2010 21:06:38 +0100