* apt-pkg/deb/dpkgpm.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Tue, 19 Jan 2010 12:08:01 +0000 (13:08 +0100)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Tue, 19 Jan 2010 12:08:01 +0000 (13:08 +0100)
  - don't segfault if term.log file can't be opened.
    Thanks Sam Brightman for the patch! (Closes: #475770)

apt-pkg/deb/dpkgpm.cc
debian/changelog

index d1a275a..565f01b 100644 (file)
@@ -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;
 }
index 2cc2566..e699ee6 100644 (file)
@@ -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