Browse code

now that EC32 is using cli_readint we can't use EC32 on int16_t, or we'll crash.

Török Edvin authored on 2012/01/05 20:14:53
Showing 2 changed files
... ...
@@ -379,8 +379,8 @@ int cab_open(fmap_t *map, off_t offset, struct cab_archive *cab)
379 379
 	cab->map = map;
380 380
 	file->offset = EC32(file_hdr->uoffFolderStart);
381 381
 	file->length = EC32(file_hdr->cbFile);
382
-	file->attribs = EC32(file_hdr->attribs);
383
-	fidx = EC32(file_hdr->iFolder);
382
+	file->attribs = EC16(file_hdr->attribs);
383
+	fidx = EC16(file_hdr->iFolder);
384 384
 	file->error = CL_SUCCESS;
385 385
 
386 386
 	file->name = cab_readstr(map, &cur_offset, &ret);
... ...
@@ -283,7 +283,7 @@ static int real_scansis(cli_ctx *ctx, const char *tmpd) {
283 283
     return CL_CLEAN;
284 284
   }
285 285
   for (i = 0; i< sis.langs; i++)
286
-    alangs[i]=EC32(llangs[i])<MAXLANG ? sislangs[EC32(llangs[i])] : sislangs[0];
286
+    alangs[i]=EC16(llangs[i])<MAXLANG ? sislangs[EC16(llangs[i])] : sislangs[0];
287 287
 
288 288
   if (!sis.pnames) {
289 289
     cli_dbgmsg("SIS: Application without a name?\n");