• Tom Lane's avatar
    Fix low-probability memory leak in regex execution. · d9c0c728
    Tom Lane authored
    After an internal failure in shortest() or longest() while pinning down the
    exact location of a match, find() forgot to free the DFA structure before
    returning.  This is pretty unlikely to occur, since we just successfully
    ran the "search" variant of the DFA; but it could happen, and it would
    result in a session-lifespan memory leak since this code uses malloc()
    directly.  Problem seems to have been aboriginal in Spencer's library,
    so back-patch all the way.
    
    In passing, correct a thinko in a comment I added awhile back about the
    meaning of the "ntree" field.
    
    I happened across these issues while comparing our code to Tcl's version
    of the library.
    d9c0c728
regcomp.c 53 KB