diff options
| author | Martin Matuska <mm@FreeBSD.org> | 2010-11-11 22:21:30 +0000 |
|---|---|---|
| committer | Martin Matuska <mm@FreeBSD.org> | 2010-11-11 22:21:30 +0000 |
| commit | 4db362f078d756476433b818a60ecdc86906c159 (patch) | |
| tree | 2dc755263f049e1519b2002c0ffdcb1ff75f902a /src/liblzma/common/common.c | |
| parent | 140cf3d5f23f94d96c987db2d4b8a60926009aa5 (diff) | |
Diffstat (limited to 'src/liblzma/common/common.c')
| -rw-r--r-- | src/liblzma/common/common.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c index 07b1d4763f69e..0408e15328b3a 100644 --- a/src/liblzma/common/common.c +++ b/src/liblzma/common/common.c @@ -182,6 +182,20 @@ lzma_code(lzma_stream *strm, lzma_action action) || !strm->internal->supported_actions[action]) return LZMA_PROG_ERROR; + // Check if unsupported members have been set to non-zero or non-NULL, + // which would indicate that some new feature is wanted. + if (strm->reserved_ptr1 != NULL + || strm->reserved_ptr2 != NULL + || strm->reserved_ptr3 != NULL + || strm->reserved_ptr4 != NULL + || strm->reserved_int1 != 0 + || strm->reserved_int2 != 0 + || strm->reserved_int3 != 0 + || strm->reserved_int4 != 0 + || strm->reserved_enum1 != LZMA_RESERVED_ENUM + || strm->reserved_enum2 != LZMA_RESERVED_ENUM) + return LZMA_OPTIONS_ERROR; + switch (strm->internal->sequence) { case ISEQ_RUN: switch (action) { |
