ソースを参照

Fixed attribute buffer allocation for overruns and unnaturally large attributes

git-svn-id: https://svn.microneil.com/svn/CodeDweller/trunk@111 d34b734f-a00e-4b39-a726-e4eeb87269ab
wx
madscientist 8年前
コミット
36b03c855e
1個のファイルの変更6行の追加4行の削除
  1. 6
    4
      configuration.cpp

+ 6
- 4
configuration.cpp ファイルの表示

@@ -905,8 +905,9 @@ bool ConfigurationElement::interpret(ConfigurationData& Data) {
) { // then translate the content!
// Create the Content buffer...

int BfrSize = Stopdex - Startdex; // How big a buffer do we need?
char Bfr[BfrSize]; // Make one that size.
int BfrSize = Stopdex - Startdex +1; // How big a buffer do we need?
vector<char> heapBfr(BfrSize,0); // Make one that size.
char *Bfr = &heabBfr[0];

copyDataCountLines(Bfr, Data, Startdex, Stopdex); // Get our data and ignore our lines.

@@ -1097,8 +1098,9 @@ bool ConfigurationAttribute::interpret(ConfigurationData& Data) {

// Read our data.

int BfrSize = Stopdex - Startdex; // How big a buffer do we need?
char Bfr[BfrSize]; // Make one that size.
int BfrSize = Stopdex - Startdex +1; // How big a buffer do we need?
vector<char> heapBfr(BfrSize,0); // Make one that size.
char *Bfr = &heabBfr[0];

NewLines += copyDataCountLines(Bfr, Data, Startdex, Stopdex); // Get our data and count our lines.


読み込み中…
キャンセル
保存