Changeset 1477 for trunk/src/kmk/read.c


Ignore:
Timestamp:
Apr 1, 2008, 2:05:01 AM (17 years ago)
Author:
bird
Message:

Check for '\0' in defines, just to keep the value_length sane.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/read.c

    r1408 r1477  
    629629          if (!found_endef)
    630630            {
    631               error (f, "%s(%d): bogus define statement.", name, line_no);
     631              error (f, "%s(%d): missing endef, dropping the rest of the file.", name, line_no);
    632632              break;
    633633            }
     634          value_len = value_end - value_start;
     635          if (memchr (value_start, '\0', value_len))
     636            {
     637              error (f, "%s(%d): '\\0' in define, dropping the rest of the file.", name, line_no);
     638              break;
     639            }
    634640
    635641          /* make a copy of the value, converting \r\n to \n, and define it. */
    636           value_len = value_end - value_start;
    637642          value = xmalloc (value_len + 1);
    638643          endp = memchr (value_start, '\r', value_len);
Note: See TracChangeset for help on using the changeset viewer.