On Thu, Sep 09, 2010 at 02:02:45PM -0500, Brandon Casey wrote: > @@ -919,7 +919,10 @@ static void free_diff_words_data(struct emit_callback *ecbdata) > free (ecbdata->diff_words->minus.orig); > free (ecbdata->diff_words->plus.text.ptr); > free (ecbdata->diff_words->plus.orig); > - free(ecbdata->diff_words->word_regex); > + if (ecbdata->diff_words->word_regex) { > + regfree(ecbdata->diff_words->word_regex); > + free(ecbdata->diff_words->word_regex); > + } Makes sense, and closes a leak. But I wonder why word_regex is a pointer to malloc'd memory at all? Couldn't it just be an actual regex_t inside the diff_words struct, and we regcomp and regfree it? I guess maybe having it be NULL is useful. You could check diff_words->o->word_regex, but I suppose that would mean carrying an extra variable around through the callchain. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html