Ver código fonte

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 anos atrás
pai
commit
36b03c855e
1 arquivos alterados com 6 adições e 4 exclusões
  1. 6
    4
      configuration.cpp

+ 6
- 4
configuration.cpp Ver arquivo

@@ -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.


Carregando…
Cancelar
Salvar