| From foo@baz Tue Sep 11 12:05:55 CEST 2018 |
| From: Randy Dunlap <rdunlap@infradead.org> |
| Date: Wed, 15 Aug 2018 12:30:38 -0700 |
| Subject: scripts: modpost: check memory allocation results |
| |
| From: Randy Dunlap <rdunlap@infradead.org> |
| |
| [ Upstream commit 1f3aa9002dc6a0d59a4b599b4fc8f01cf43ef014 ] |
| |
| Fix missing error check for memory allocation functions in |
| scripts/mod/modpost.c. |
| |
| Fixes kernel bugzilla #200319: |
| https://bugzilla.kernel.org/show_bug.cgi?id=200319 |
| |
| Signed-off-by: Randy Dunlap <rdunlap@infradead.org> |
| Cc: Yuexing Wang <wangyxlandq@gmail.com> |
| Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| scripts/mod/modpost.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/scripts/mod/modpost.c |
| +++ b/scripts/mod/modpost.c |
| @@ -672,7 +672,7 @@ static void handle_modversions(struct mo |
| if (ELF_ST_TYPE(sym->st_info) == STT_SPARC_REGISTER) |
| break; |
| if (symname[0] == '.') { |
| - char *munged = strdup(symname); |
| + char *munged = NOFAIL(strdup(symname)); |
| munged[0] = '_'; |
| munged[1] = toupper(munged[1]); |
| symname = munged; |
| @@ -1318,7 +1318,7 @@ static Elf_Sym *find_elf_symbol2(struct |
| static char *sec2annotation(const char *s) |
| { |
| if (match(s, init_exit_sections)) { |
| - char *p = malloc(20); |
| + char *p = NOFAIL(malloc(20)); |
| char *r = p; |
| |
| *p++ = '_'; |
| @@ -1338,7 +1338,7 @@ static char *sec2annotation(const char * |
| strcat(p, " "); |
| return r; |
| } else { |
| - return strdup(""); |
| + return NOFAIL(strdup("")); |
| } |
| } |
| |
| @@ -2036,7 +2036,7 @@ void buf_write(struct buffer *buf, const |
| { |
| if (buf->size - buf->pos < len) { |
| buf->size += len + SZ; |
| - buf->p = realloc(buf->p, buf->size); |
| + buf->p = NOFAIL(realloc(buf->p, buf->size)); |
| } |
| strncpy(buf->p + buf->pos, s, len); |
| buf->pos += len; |