]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Adapt to zchunk format change
authorMichael Schroeder <mls@suse.de>
Thu, 19 Jul 2018 14:16:35 +0000 (16:16 +0200)
committerMichael Schroeder <mls@suse.de>
Thu, 19 Jul 2018 14:16:35 +0000 (16:16 +0200)
ext/solv_zchunk.c

index 6df0caffafa6976434183e9ca7ae33fc91584605..771726de42edf41fc6f002f0a15d3b9db58f623d 100644 (file)
@@ -302,9 +302,9 @@ solv_zchunk_open(FILE *fp, unsigned int streamid)
   zck->data_chk_len = hdr_chk_len;
 #endif
   p += hdr_chk_len;    /* skip data checksum */
-  zck->flags = p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3];
-  p += 4;
-  if ((zck->flags & 0xfffffffe) != 0)
+  if ((p = getuint(p, zck->hdr_end, &zck->flags)) == 0)
+    return open_error(zck);
+  if ((zck->flags & ~(1)) != 0)
     return open_error(zck);
   if ((p = getuint(p, zck->hdr_end, &zck->comp)) == 0 || (zck->comp != 0 && zck->comp != 2))
     return open_error(zck);    /* only uncompressed + zstd */