Mercurial > hg
view contrib/chg/Makefile @ 43494:5d40317d42b7
dirs: reject consecutive slashes in paths
We shouldn't ever see those, and the fuzzer go really excited that if
it gives us a 65k string with 55k slashes in it we use a lot of RAM.
This is a better fix than what I tried in D7105. It was suggested by
Yuya, and I verified it does in fact cause the fuzzer to not OOM.
This is a revision of D7234, but with the missing set of an error
added. I added a unit test of the dirs behavior because I needed to
reason more carefully about the failure modes around consecutive
slashes.
Differential Revision: https://phab.mercurial-scm.org/D7252
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 17 Oct 2019 19:29:22 -0400 |
parents | 01c57eeb35cb |
children | 4c8d9b53b1c7 |
line wrap: on
line source
TARGET = chg SRCS = chg.c hgclient.c procutil.c util.c OBJS = $(SRCS:.c=.o) CFLAGS ?= -O2 -Wall -Wextra -pedantic -g CPPFLAGS ?= -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE override CFLAGS += -std=gnu99 ifdef HGPATH override CPPFLAGS += -DHGPATH=\"$(HGPATH)\" endif DESTDIR = PREFIX = /usr/local MANDIR = $(PREFIX)/share/man/man1 .PHONY: all all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) chg.o: hgclient.h procutil.h util.h hgclient.o: hgclient.h procutil.h util.h procutil.o: procutil.h util.h util.o: util.h .PHONY: install install: $(TARGET) install -d "$(DESTDIR)$(PREFIX)"/bin install -m 755 "$(TARGET)" "$(DESTDIR)$(PREFIX)"/bin install -d "$(DESTDIR)$(MANDIR)" install -m 644 chg.1 "$(DESTDIR)$(MANDIR)" .PHONY: clean clean: $(RM) $(OBJS) .PHONY: distclean distclean: $(RM) $(OBJS) $(TARGET)