diff --git a/VERSION b/VERSION index 94960bbb..36d1adb8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.526 +8.3.527 diff --git a/lef/lefRead.c b/lef/lefRead.c index cccee7fe..df5c2ab6 100644 --- a/lef/lefRead.c +++ b/lef/lefRead.c @@ -881,6 +881,7 @@ LefReadLefPoint( token = LefNextToken(f, TRUE); if (!token) return -1; + if (*token == ';') return -1; if (*token == '(') { token = LefNextToken(f, TRUE); @@ -2350,7 +2351,7 @@ origin_error: /* Read (optional) FOREIGN coordinate */ result = LefReadLefPoint(f, &x, &y); - if (result == 1) goto origin_error; + if (result == 1) goto foreign_error; else if (result == 0) { gdsOffset.p_x += -(int)roundf(x / oscale); @@ -2364,6 +2365,11 @@ origin_error: } LefEndStatement(f); break; +foreign_error: + LefError(LEF_ERROR, "Bad origin in macro FOREIGN; requires " + "0 or 2 values.\n"); + LefEndStatement(f); + break; case LEF_MACRO_END: if (LefParseEndStatement(f, mname) == 0) {