fix breakage in compressed file detection
authorDenys Vlasenko <vda.linux@googlemail.com>
Sat, 26 Jun 2010 03:01:16 +0000 (05:01 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sat, 26 Jun 2010 03:01:16 +0000 (05:01 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
archival/rpm2cpio.c
libbb/read_printf.c

index 1c67dcc6e3fed99b856a6a7e8ce10aeab4f613c4..1f67fa8870548614f07382e6beccae0a53dbe285 100644 (file)
@@ -75,7 +75,7 @@ int rpm2cpio_main(int argc UNUSED_PARAM, char **argv)
                } magic;
                IF_DESKTOP(long long) int FAST_FUNC (*unpack)(int src_fd, int dst_fd);
 
-               xread(rpm_fd, magic.b16, sizeof(magic.b16));
+               xread(rpm_fd, magic.b16, sizeof(magic.b16[0]));
                if (magic.b16[0] == GZIP_MAGIC) {
                        unpack = unpack_gz_stream;
                } else
@@ -89,7 +89,7 @@ int rpm2cpio_main(int argc UNUSED_PARAM, char **argv)
                ) {
                        /* .xz signature: 0xfd, '7', 'z', 'X', 'Z', 0x00 */
                        /* More info at: http://tukaani.org/xz/xz-file-format.txt */
-                       xread(rpm_fd, magic.b32, sizeof(magic.b32));
+                       xread(rpm_fd, magic.b32, sizeof(magic.b32[0]));
                        if (magic.b32[0] != XZ_MAGIC2)
                                goto no_magic;
                        /* unpack_xz_stream wants fd at position 0 */
index 53f528f5aa11e5e7e04c7569c03c95a46e7cabdb..3aee075c6afd11680e0194ed512679ba2b9fc99b 100644 (file)
@@ -265,7 +265,7 @@ void FAST_FUNC setup_unzip_on_fd(int fd /*, int fail_if_not_detected*/)
 
        /* .gz and .bz2 both have 2-byte signature, and their
         * unpack_XXX_stream wants this header skipped. */
-       xread(fd, magic.b16, sizeof(magic.b16));
+       xread(fd, magic.b16, sizeof(magic.b16[0]));
        if (ENABLE_FEATURE_SEAMLESS_GZ
         && magic.b16[0] == GZIP_MAGIC
        ) {
@@ -292,7 +292,7 @@ void FAST_FUNC setup_unzip_on_fd(int fd /*, int fail_if_not_detected*/)
                /* .xz signature: 0xfd, '7', 'z', 'X', 'Z', 0x00 */
                /* More info at: http://tukaani.org/xz/xz-file-format.txt */
                offset = -6;
-               xread(fd, magic.b32, sizeof(magic.b32));
+               xread(fd, magic.b32, sizeof(magic.b32[0]));
                if (magic.b32[0] == XZ_MAGIC2) {
 # if BB_MMU
                        xformer = unpack_xz_stream;