summaryrefslogtreecommitdiff
path: root/libarchive/archive_string.h
diff options
context:
space:
mode:
authorTim Kientzle <kientzle@gmail.com>2008-11-22 17:02:45 -0500
committerTim Kientzle <kientzle@gmail.com>2008-11-22 17:02:45 -0500
commit56f6b5fa5e79323c51c515360ffa16f030bcb11f (patch)
treeaae473c4ace0c17b3f547fb25b2e8394b6cd462c /libarchive/archive_string.h
parent4df04edd9c56a74ce602f14c4174ff1efecaa5ad (diff)
downloadlibarchive-56f6b5fa5e79323c51c515360ffa16f030bcb11f.tar.gz
Add a fuzz tester to the libarchive test suite. This
takes known-good archives, changes random bytes, then feeds them through libarchive trying to provoke a crash or hang. This has exposed a couple of problems reading malformed ISO9660 images. As a result, I now have a rewritten Rockridge extension parser, better handling of malformed PVDs, and some additional checks around end-of-archive conditions. SVN-Revision: 260
Diffstat (limited to 'libarchive/archive_string.h')
-rw-r--r--libarchive/archive_string.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libarchive/archive_string.h b/libarchive/archive_string.h
index e59c33af..1485e48e 100644
--- a/libarchive/archive_string.h
+++ b/libarchive/archive_string.h
@@ -92,6 +92,12 @@ __archive_string_copy(struct archive_string *dest, struct archive_string *src);
#define archive_string_copy(dest, src) \
__archive_string_copy(dest, src)
+/* Concatenate one archive_string to another */
+void
+__archive_string_concat(struct archive_string *dest, struct archive_string *src);
+#define archive_string_concat(dest, src) \
+ __archive_string_concat(dest, src)
+
/* Ensure that the underlying buffer is at least as large as the request. */
struct archive_string *
__archive_string_ensure(struct archive_string *, size_t);