]> granicus.if.org Git - python/commitdiff
Fix Coverity 180: Don't overallocate. We don't need structs, but pointers.
authorNeal Norwitz <nnorwitz@gmail.com>
Fri, 12 Oct 2007 03:04:18 +0000 (03:04 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Fri, 12 Oct 2007 03:04:18 +0000 (03:04 +0000)
Also fix a memory leak.

Parser/pgen.c

index dfe7cacbaa9f2ee53b4b92a003100cdbddc585ad..76cb204751ed5715bb12e68c97190acaa8121256 100644 (file)
@@ -124,7 +124,7 @@ addnfa(nfagrammar *gr, char *name)
        
        nf = newnfa(name);
        gr->gr_nfa = (nfa **)PyObject_REALLOC(gr->gr_nfa,
-                                     sizeof(nfa) * (gr->gr_nnfas + 1));
+                                     sizeof(nfa*) * (gr->gr_nnfas + 1));
        if (gr->gr_nfa == NULL)
                Py_FatalError("out of mem");
        gr->gr_nfa[gr->gr_nnfas++] = nf;
@@ -487,6 +487,7 @@ makedfa(nfagrammar *gr, nfa *nf, dfa *d)
        convert(d, xx_nstates, xx_state);
        
        /* XXX cleanup */
+       PyObject_FREE(xx_state);
 }
 
 static void