Procházet zdrojové kódy

* Increase length of line buffer in ReadConfigFile to 1...
Author: mdz
Date: 2004-04-30 04:00:15 GMT
* Increase length of line buffer in ReadConfigFile to 1024 chars;
detect if a line is longer than that and error out
(Closes: #244835)

Arch Librarian před 22 roky
rodič
revize
5e14c45257
2 změnil soubory, kde provedl 10 přidání a 3 odebrání
  1. 6 2
      apt-pkg/contrib/configuration.cc
  2. 4 1
      debian/changelog

+ 6 - 2
apt-pkg/contrib/configuration.cc

@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
-// $Id: configuration.cc,v 1.27 2003/07/26 00:27:36 mdz Exp $
+// $Id: configuration.cc,v 1.28 2004/04/30 04:00:15 mdz Exp $
 /* ######################################################################
 
    Configuration Class
@@ -452,7 +452,7 @@ bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional,
    if (!F != 0)
       return _error->Errno("ifstream::ifstream",_("Opening configuration file %s"),FName.c_str());
    
-   char Buffer[300];
+   char Buffer[1024];
    string LineBuffer;
    string Stack[100];
    unsigned int StackPos = 0;
@@ -466,6 +466,10 @@ bool ReadConfigFile(Configuration &Conf,string FName,bool AsSectional,
    {
       F.getline(Buffer,sizeof(Buffer));
       CurLine++;
+      // This should be made to work instead, but this is better than looping
+      if (F.fail() && !F.eof())
+         return _error->Error(_("Line %d too long (max %d)"), CurLine, sizeof(Buffer));
+
       _strtabexpand(Buffer,sizeof(Buffer));
       _strstrip(Buffer);
 

+ 4 - 1
debian/changelog

@@ -28,8 +28,11 @@ apt (0.5.25) unstable; urgency=low
     (Closes: #246550)
   * Support DEB_BUILD_OPTIONS=noopt in debian/rules
     (Closes: #244293)
+  * Increase length of line buffer in ReadConfigFile to 1024 chars;
+    detect if a line is longer than that and error out
+    (Closes: #244835)
 
- -- Matt Zimmerman <mdz@debian.org>  Thu, 29 Apr 2004 20:46:35 -0700
+ -- Matt Zimmerman <mdz@debian.org>  Thu, 29 Apr 2004 21:00:02 -0700
 
 apt (0.5.24) unstable; urgency=low