diff options
author | emaste <emaste@FreeBSD.org> | 2015-05-21 13:30:10 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2015-05-21 13:30:10 +0000 |
commit | 0895f35cb3f72fc68b820d06ed33b2f22bb44981 (patch) | |
tree | 26b5891f73a039233b765d6cc662e706972ff0a7 | |
parent | 9a9f3ecf67ce721e3bd874099c068de29df1d597 (diff) | |
download | FreeBSD-src-0895f35cb3f72fc68b820d06ed33b2f22bb44981.zip FreeBSD-src-0895f35cb3f72fc68b820d06ed33b2f22bb44981.tar.gz |
MFC r276774: ar: Avoid null pointer deref while reading corrupt archives
ELF Tool Chain ticket #467
Reported by: Alexander Cherepanov <cherepan@mccme.ru>
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | usr.bin/ar/read.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.bin/ar/read.c b/usr.bin/ar/read.c index 98674b7..aa499e0 100644 --- a/usr.bin/ar/read.c +++ b/usr.bin/ar/read.c @@ -102,7 +102,8 @@ read_archive(struct bsdar *bsdar, char mode) continue; } - name = archive_entry_pathname(entry); + if ((name = archive_entry_pathname(entry)) == NULL) + break; /* Skip pseudo members. */ if (strcmp(name, "/") == 0 || strcmp(name, "//") == 0) |