diff options
-rw-r--r-- | Build/source/texk/seetexk/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/texk/seetexk/dvitodvi.c | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/Build/source/texk/seetexk/ChangeLog b/Build/source/texk/seetexk/ChangeLog index 15d019155fe..980f0f6ff36 100644 --- a/Build/source/texk/seetexk/ChangeLog +++ b/Build/source/texk/seetexk/ChangeLog @@ -1,3 +1,8 @@ +2015-10-05 Peter Breitenlohner <peb@mppmu.mpg.de> + + * dvitodvi.c (ParseSpecs): Avoid to return the address of a + local variable, even when the result is discarded. + 2015-07-07 Peter Breitenlohner <peb@mppmu.mpg.de> * Makefile.am: Better dependencies for 'make check'. diff --git a/Build/source/texk/seetexk/dvitodvi.c b/Build/source/texk/seetexk/dvitodvi.c index 36bfaeac919..e081fc3a0cf 100644 --- a/Build/source/texk/seetexk/dvitodvi.c +++ b/Build/source/texk/seetexk/dvitodvi.c @@ -301,15 +301,17 @@ parsedimen(char **sp) static struct pagespec * ParseSpecs(char *str, int make) { - struct pagespec *head, *tail; + struct pagespec *result, *head, *tail; int other = 0; int num = -1; struct pagespec spare; if (make) - head = tail = newspec(); - else + result = head = tail = newspec(); + else { + result = NULL; head = tail = &spare; + } while (*str) { if (isdigit((unsigned char)*str)) { num = parseint(&str); @@ -357,7 +359,7 @@ ParseSpecs(char *str, int make) specusage(); else if (num >= 0) tail->pageno = num; - return (head); + return result; } static i32 |