Author: pstef
Date: Sun Jun  3 17:11:01 2018
New Revision: 334571
URL: https://svnweb.freebsd.org/changeset/base/334571

Log:
  indent(1): avoid resetting last_bl to a bogus value when reallocating
  underlying buffer

Modified:
  head/usr.bin/indent/indent_globs.h

Modified: head/usr.bin/indent/indent_globs.h
==============================================================================
--- head/usr.bin/indent/indent_globs.h  Sun Jun  3 17:07:56 2018        
(r334570)
+++ head/usr.bin/indent/indent_globs.h  Sun Jun  3 17:11:01 2018        
(r334571)
@@ -67,12 +67,17 @@ FILE       *output;         /* the output file */
        if (e_com >= l_com) { \
            int nsize = l_com-s_com+400; \
            int com_len = e_com - s_com; \
-           int blank_pos = last_bl - s_com; \
+           int blank_pos; \
+           if (last_bl != NULL) \
+               blank_pos = last_bl - combuf; \
+           else \
+               blank_pos = -1; \
            combuf = (char *) realloc(combuf, nsize); \
            if (combuf == NULL) \
                err(1, NULL); \
            e_com = combuf + com_len + 1; \
-           last_bl = combuf + blank_pos + 1; \
+           if (blank_pos > 0) \
+               last_bl = combuf + blank_pos; \
            l_com = combuf + nsize - 5; \
            s_com = combuf + 1; \
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to