From: Lukas Krickl Date: Thu, 14 Dec 2023 07:16:58 +0000 (+0100) Subject: Fixed missing memset in release build X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=fa03e2ed53848d42f43c0e0047746c24ce66fb42;p=ulas%2F.git Fixed missing memset in release build --- diff --git a/makefile b/makefile index d9d7f0b..18e75cb 100644 --- a/makefile +++ b/makefile @@ -27,6 +27,9 @@ OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ)) all: bin test +release: + make DBGCFLAGS="" DBGLDFLAGS="" + $(ODIR)/%.o: src/%.c include/*.h mkdir -p $(@D) $(CC) -c -o $@ $< $(CFLAGS) $(LDFLAGS) diff --git a/src/ulas.c b/src/ulas.c index 18bb0db..b622d4d 100644 --- a/src/ulas.c +++ b/src/ulas.c @@ -266,6 +266,7 @@ int ulas_symbolset(const char *cname, int scope, struct ulas_tok tok, int constant) { // remove : from name char name[ULAS_SYMNAMEMAX]; + memset(name, 0, ULAS_SYMNAMEMAX); long len = strlen(cname); assert(len < ULAS_SYMNAMEMAX); strncpy(name, cname, len); @@ -293,7 +294,7 @@ int ulas_symbolset(const char *cname, int scope, struct ulas_tok tok, if (!existing) { // def new symbol - struct ulas_sym new_sym = {strdup(name), tok, scope, ulas.pass, constant}; + struct ulas_sym new_sym = {strndup(name, len), tok, scope, ulas.pass, constant}; ulas_symbufpush(&ulas.syms, new_sym); rc = ulas_symbolout(ulassymout, &new_sym);