From 0336e31c57472076953e4c3cc423c9161196dc00 Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 13 Oct 2012 19:09:49 +0200 Subject: [PATCH] vector.c, rewrite vec_basename(), FIXME ! This rewritten code is functionally equivalent to the previous code, yet the result is queer, because the char *v_name slot of struct dvec is read beyond its terminating '\0' Is there indeed some code in ngspice which creates v_name strings with an embedded '\0' ? --- src/frontend/vectors.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/frontend/vectors.c b/src/frontend/vectors.c index 432e052a6..c7a3d7be5 100644 --- a/src/frontend/vectors.c +++ b/src/frontend/vectors.c @@ -860,14 +860,10 @@ char * vec_basename(struct dvec *v) { char buf[BSIZE_SP], *t, *s; - int i; if (strchr(v->v_name, '.')) { - for (t = v->v_name, i = 0; *t; t++) - buf[i++] = *t; - buf[i] = '\0'; - if (cieq(v->v_plot->pl_typename, buf)) - (void) strcpy(buf, t + 1); + if (cieq(v->v_plot->pl_typename, v->v_name)) + (void) strcpy(buf, v->v_name + strlen(v->v_name) + 1); else (void) strcpy(buf, v->v_name); } else {