Skip to content
Snippets Groups Projects
Select Git revision
  • test
1 result

CHANGES

Blame
  • CHANGES 26.68 KiB
    			SQUASHFS CHANGE LOG
    
    4.3	12 MAY 2014	New compressor options, new Mksquashfs/Unsquashfs
    			functionality, duplicate checking optimisations,
    			stability improvements (option/file parsing,
    			buffer/memory overflow checks, filesystem hardening
    			on corrupted filesystems), CVE fixes.
    
    	Too many changes to do the traditional custom changelog.  But, this
    	is now unnecessary, so instead list most significant 15% of commits
    	from git changelog in chronological order.
    
    	- unsquashfs: add checks for corrupted data in opendir functions
    	- unsquashfs: completely empty filesystems incorrectly generate an error
    	- unsquashfs: fix open file limit
    	- mksquashfs: Use linked list to store directory entries rather
    	- mksquashfs: Remove qsort and add a bottom up linked list merge sort
    	- mksquashfs: optimise lookup_inode2() for dirs
    	- pseudo: fix handling of modify pseudo files
    	- pseudo: fix handling of directory pseudo files
    	- xattr: Fix ERROR() so that it is synchronised with the progress bar
    	- mksquashfs/sort: Fix INFO() so that it is synced with the progress bar
    	- mksquashfs: Add -progress to force progress bar when using -info
    	- error.h: consolidate the various error macros into one header file
    	- mksquashfs: fix stack overflow in write_fragment_table()
    	- mksquashfs: move list allocation from off the stack
    	- unsquashfs: fix oversight in directory permission setting
    	- mksquashfs: dynamically allocate recovery_file
    	- mksquashfs: dynamically allocate buffer in subpathname()
    	- mksquashfs: dynamically allocate buffer in pathname()
    	- unsquashfs: fix CVE-2012-4024
    	- unsquashfs: fix CVE-2012-4025
    	- mksquashfs: fix potential stack overflow in get_component()
    	- mksquashfs: add parse_number() helper for numeric command line options
    	- mksquasfs: check return value of fstat() in reader_read_file()
    	- mksquashfs: dynamically allocate filename in old_add_exclude()
    	- unsquashfs: dynamically allocate pathname in dir_scan()
    	- unsquashfs: dynamically allocate pathname in pre_scan()
    	- sort: dynamically allocate filename in add_sort_list()
    	- mksquashfs: fix dir_scan() exit if lstat of source directory fails
    	- pseudo: fix memory leak in read_pseudo_def() if exec_file() fails
    	- pseudo: dynamically allocate path in dump_pseudo()
    	- mksquashfs: dynamically allocate path in display_path2()
    	- mksquashfs: dynamically allocate b_buffer in getbase()
    	- pseudo: fix potential stack overflow in get_component()
    	- pseudo: avoid buffer overflow in read_pseudo_def() using sscanf()
    	- pseudo: dynamically allocate filename in exec_file()
    	- pseudo: avoid buffer overflow in read_sort_file() using fscanf()
    	- sort: tighten up sort file parsing
    	- unsquashfs: fix name under-allocation in process_extract_files()
    	- unsquashfs: avoid buffer overflow in print_filename() using sprintf()
    	- Fix some limits in the file parsing routines
    	- pseudo: Rewrite pseudo file processing
    	- read_fs: fix small memory leaks in read_filesystem()
    	- mksquashfs: fix fclose leak in reader_read_file() on I/O error
    	- mksquashfs: fix frag struct leak in write_file_{process|blocks|frag}
    	- unsquashfs_xattr: fix memory leak in write_xattr()
    	- read_xattrs: fix xattr free in get_xattr() in error path
    	- unsquashfs: add -user-xattrs option to only extract user.xxx xattrs
    	- unsquashfs: add code to only print "not superuser" error message once
    	- unsquashfs: check for integer overflow in user input
    	- mksquashfs: check for integer overflow in user input
    	- mksquashfs: fix "new" variable leak in dir_scan1()
    	- read_fs: prevent buffer {over|under}flow in read_block() with
    	  corrupted filesystems
    	- read_fs: check metadata blocks are expected size in scan_inode_table()
    	- read_fs: check the root inode block is found in scan_inode_table()
    	- read_fs: Further harden scan_inode_table() against corrupted
    	  filesystems
    	- unsquashfs: prevent buffer {over|under}flow in read_block() with