From fa03e2ed53848d42f43c0e0047746c24ce66fb42 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Thu, 14 Dec 2023 08:16:58 +0100 Subject: [PATCH] Fixed missing memset in release build --- makefile | 3 +++ src/ulas.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) 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); -- 2.30.2