Commit Graph

998 Commits

Author SHA1 Message Date
Thomas Schmitt e8b94e7b50 Checking the return value of fcntl(F_SETFL O_NONBLOCK). Coverity CID 12536. 2015-10-13 10:49:16 +02:00
Thomas Schmitt cb1e56478a Initializing name truncation parameters of IsoReadOpts to prevent
failure of demo/demo -iso_cat, which does not load the ISO image.
2015-10-12 11:48:27 +02:00
Thomas Schmitt 05d0ee4a37 Fixed double free in case of error while looking up path in loaded ISO image. 2015-10-12 10:56:42 +02:00
Thomas Schmitt c6aedc9eb5 Fixed double free introduced with rev 1233. 2015-10-11 19:57:36 +02:00
Thomas Schmitt 505bf23aa4 Made sure that missing boot catalog at image load time causes no SIGSEGV
by NULL. Coverity CID 12552.
2015-10-11 18:25:13 +02:00
Thomas Schmitt ccef2f29da Avoiding NULL pointer dereference in case of unexpected file type.
Coverity CID 12550.
2015-10-11 17:36:30 +02:00
Thomas Schmitt b904926443 Checking success of strdup(). Indirectly found by Coverity CID 12548. 2015-10-11 16:11:02 +02:00
Thomas Schmitt 7bdc4c96f5 Avoided to close unopened file pointer in case of error. Coverity CID 12546. 2015-10-11 15:18:03 +02:00
Thomas Schmitt fa5e27458a Removed surplus test which was always true. Coverity CID 12539. 2015-10-11 11:02:54 +02:00
Thomas Schmitt 7c29a94ab6 Taking into respect the return value of a function which can fail.
Coverity CID 12595.
2015-10-11 10:15:38 +02:00
Thomas Schmitt a4c1e04820 Removed assignment of an unused function result. Coverity CID 12594. 2015-10-11 09:49:15 +02:00
Thomas Schmitt 50132d4ff7 Added forgotten emergency exit with faulty MD5 tags. Coverity CID 12596. 2015-10-11 09:44:15 +02:00
Thomas Schmitt 4c1c1ea152 voided to have dead code ifndef Libisofs_with_aaip_acL. Coverity CID 12593. 2015-10-10 22:01:05 +02:00
Thomas Schmitt a16d4a28f4 Explicitely set tm_isdst to 0 before calling timegm. Coverity CID 12592. 2015-10-10 21:33:08 +02:00
Thomas Schmitt 4633ea3bc8 Explicitely set tm_isdst to 0 before calling timegm. Coverity CID 12591. 2015-10-10 21:31:13 +02:00
Thomas Schmitt 430c005666 Corrected initial allocation size of a pointer array. Coverity CID 12588. 2015-10-10 16:47:15 +02:00
Thomas Schmitt af55722830 Corrected allocation size of a pointer array. Coverity CID 12587. 2015-10-10 16:34:29 +02:00
Thomas Schmitt d1da5718c7 Corrected allocation size of a pointer array. Coverity CID 12586. 2015-10-10 16:32:44 +02:00
Thomas Schmitt afb2878773 Corrected allocation size of a pointer array. Coverity CID 12585. 2015-10-10 16:28:48 +02:00
Thomas Schmitt 4e7432c20f Removed unnecessary test for NULL. Coverity CID 12584. 2015-10-10 16:02:07 +02:00
Thomas Schmitt 7ef616f268 Delaying access to pointer until after NULL check. Coverity CID 12583. 2015-10-10 15:53:55 +02:00
Thomas Schmitt d5f1eb9c65 Closed memory leaks with errors in ecma119_image_new(). Coverity CID 12582. 2015-10-10 15:21:27 +02:00
Thomas Schmitt 28b41bce2c Closed memory leaks with errors during creation of HFS+ filesystem.
Coverity CID 12581.
2015-10-10 14:54:06 +02:00
Thomas Schmitt 5ac3216933 Closed memory leak with lack of memory during retrieval of HFS+ names.
Coverity CID 12580.
2015-10-10 13:11:31 +02:00
Thomas Schmitt 05a2171e04 Closed memory leak with lack of memory during character set conversion.
Coverity CID 12579.
2015-10-10 12:29:01 +02:00
Thomas Schmitt 188a41f041 Closed memory leaks with faulty ACL text. Coverity CID 12578. 2015-10-10 12:19:28 +02:00
Thomas Schmitt fbe7f1e89d Closed memory leak with assert error or memory shortage while creating
SL entry. Coverity CID 12576.
2015-10-10 11:48:52 +02:00
Thomas Schmitt d04abdcfbd Closed memory leak with memory shortage while creating IsoSymlink object.
Coverity CID 12575.
2015-10-10 11:05:41 +02:00
Thomas Schmitt a6542e5fa9 Closed memory leak with error while creating IsoFile object. Coverity CID 12574. 2015-10-09 20:42:08 +02:00
Thomas Schmitt 78d2c02ad8 Closed memory leak with error in iso_file_make_md5(). Coverity CID 12573. 2015-10-09 20:35:15 +02:00
Thomas Schmitt 48453ef1da Closed memory leaks with errors during ISO image import. Coverity CID 12572. 2015-10-09 20:07:29 +02:00
Thomas Schmitt 7928c4ec3f Closed memory leak with lack of memory during ISO image import.
Coverity CID 12571.
2015-10-09 19:44:46 +02:00
Thomas Schmitt 379e223a5c Cosmetic change in function return value. Coverity CID 12570. 2015-10-09 17:23:08 +02:00
Thomas Schmitt e4750907e3 Removed unused opportunity to call static create_image() with NULL for bootimg.
Coverity CID 12569.
2015-10-09 15:53:29 +02:00
Thomas Schmitt 8f76b59541 Closed nasty memory leak with new API call iso_image_dir_get_node().
Coverity CID 12568.
2015-10-09 15:40:24 +02:00
Thomas Schmitt 0433b7ea75 Closed memory leak with lack of memory during character set conversion.
Coverity CID 12567.
2015-10-09 15:28:04 +02:00
Thomas Schmitt d8fb8b26a6 Closed memory leak with lack of memory during character set conversion.
Coverity CID 12566.
2015-10-09 14:14:55 +02:00
Thomas Schmitt b9ccdeda72 Closed memory leak with lack of memory during ISO image loading.
Coverity CID 12565.
2015-10-09 13:38:47 +02:00
Thomas Schmitt d04f438ba1 Closed memory leak with Rock Ridge character set conversion failure.
Coverity CID 12562.
2015-10-09 13:25:42 +02:00
Thomas Schmitt e35cb88328 Made sure that iso_file_get_old_image_sections() returns non-NULL only
if section_count > 0. Made sure that callers in libisofs expect all possible
outcome as announced by API description.
2015-10-09 12:03:14 +02:00
Thomas Schmitt 83fb614462 Closed memory leak in (improbable) case of error when attaching AAIP
attributes to IsoNode. Coverity CID 12564.
2015-10-09 11:03:38 +02:00
Thomas Schmitt e5f6811795 Reacted on Coverity CID 12538. Mostly cosmetic. 2015-10-08 23:20:29 +02:00
Thomas Schmitt f3b836194c Pleasing Coverity for the improbable case that a builtin error message
length exceeds 4095 bytes.
2015-10-08 23:02:06 +02:00
Thomas Schmitt 3a870d23e3 Consolidated maximum length of namespace names. Coverity CID 12590. 2015-10-08 22:40:37 +02:00
Thomas Schmitt 06ea46c8d5 Bug fix: Freeing wrong pointer in case of memory shortage. Coverty CID 12600. 2015-10-08 19:52:23 +02:00
Thomas Schmitt d427a03192 Bug fix: Double free if a boot image has no extents. Coverity CID 12599. 2015-10-08 19:47:01 +02:00
Thomas Schmitt 2b6071b445 Bug fix: Double free if a boot image has no extents. Coverity CID 12598. 2015-10-08 19:43:08 +02:00
Thomas Schmitt fc448e09c9 Bug fix: Double free if no charset WCHAR_T is available. Coverity CID 12597.
(previous was CID 12601)
2015-10-08 19:35:22 +02:00
Thomas Schmitt 7b7da47d86 Bug fix: Double free if no charset WCHAR_T is available. Coverity CID 12597. 2015-10-08 19:27:28 +02:00
Thomas Schmitt 01c7a0d5ec Accept Rock Ridge Creation time as ctime if no Attributes time is present. 2015-10-04 18:47:38 +02:00
Thomas Schmitt 905f4f898f Fixed SIGSEGV while image import. Introduced by rev 1216. 2015-09-28 20:39:12 +02:00
Thomas Schmitt b9ec876c40 Preventing a theoretically possible negative array index in find_utf8_start() 2015-09-28 11:36:45 +02:00
Thomas Schmitt 72ef369a40 Let loaded image adjust truncate length regardless whether larger or
smaller than the current truncate length.
2015-09-27 18:03:18 +02:00
Thomas Schmitt 218e26c974 Bug fix: iso_node_get_name() of root node returned NULL pointer rather than
an empty string
2015-09-27 12:30:24 +02:00
Thomas Schmitt 395128ef5f New AAIP variable isofs.nt records name truncation parameters. 2015-09-25 19:07:53 +02:00
Thomas Schmitt 7a3560035a Rectified handling of oversized filenames by new API calls:
iso_image_set_truncate_mode, iso_image_get_truncate_mode,
iso_truncate_leaf_name, iso_image_set_node_name, iso_image_tree_clone,
iso_image_add_new_dir, iso_image_add_new_file, iso_image_add_new_special,
iso_image_add_new_symlink, iso_image_dir_get_node, iso_image_path_to_node,
2015-09-17 13:59:05 +02:00
Thomas Schmitt 7ac5b75748 Bug fix: Names read from Joliet tree where stripped of trailing ";1" 2015-09-07 13:17:08 +02:00
Thomas Schmitt 6c3dc3ce4a New API call iso_read_opts_set_ecma119_map(). 2015-08-17 21:52:33 +02:00
Thomas Schmitt bdbaf81e9c Bug fix: zisofs compression caused SIGSEGV (by reading) with files larger than
524160 KiB.
2015-08-11 22:58:37 +02:00
Thomas Schmitt c8ed18695f Restricted size of patchable boot images to 32 MB and prevented
stream filtering on such boot images.
2015-08-11 12:02:26 +02:00
Thomas Schmitt d3fefe4735 Changed wrong use of "resp." in docs 2015-08-01 16:58:40 +02:00
stacker 6947bfe5ec Sorted the data file content extents by ECMA-119 tree rather than
by the red-black tree which shall consolidate files with identical
source object. Discovered and repaired a flaw in transitivity of
iso_stream_cmp_ino().
2015-07-27 13:50:57 +02:00
Thomas Schmitt 94f8503b57 Excluded empty data files from being recognized as El Torito boot images
when an ISO gets loaded.
2015-05-23 15:43:39 +02:00
Thomas Schmitt cb519e221e Silenced compiler warnings of NetBSD and Solaris. 2015-05-20 12:19:37 +02:00
Thomas Schmitt 2beb0d001b Version leap to 1.4.1 2015-05-17 21:16:35 +02:00
Thomas Schmitt 6c9b81a474 Version leap to 1.4.0 2015-05-17 19:27:00 +02:00
Thomas Schmitt 393cc070f3 Included stdlib.h in libisofs/util.h to get off_t defined in FreeBSD. 2015-05-17 17:08:04 +02:00
Thomas Schmitt c47167058a Improved handling of cylinder alignment if the resulting image size
size is not divisible by 2048. Old behavior was to not align. New is
to pad up by a few blocks of 512 bytes.
2015-05-10 09:34:45 +02:00
Thomas Schmitt 5a3d84cbbb Fixed omissions of rev 1197 about so_write_opts_set_prep_img() and
iso_write_opts_set_efi_bootp().
2015-04-28 14:21:36 +02:00
Thomas Schmitt 5f6e64b792 Bug fix: GPT production did not yield proper results with appended sessions
resp. with TOC emulation enabled.
2015-04-25 12:13:11 +02:00
Thomas Schmitt d4b8cbe474 New API object iso_interval_reader. Enabling flag bits for older API calls
iso_write_opts_set_prep_img(), iso_write_opts_set_efi_bootp(),
and iso_write_opts_set_partition_img().
2015-04-23 15:46:04 +02:00
Thomas Schmitt a0719328ea Bug fix: A zero sized GPT partition was marked after the last appended
GPT partition.
2015-04-18 14:07:16 +02:00
Thomas Schmitt c8776e605e Bug fix: iso_image_report_system_area() did not show GPT partitions of size 0. 2015-04-18 13:54:54 +02:00
Thomas Schmitt 003aa5832e Fixing an omission of rev 1183. Protective MBR was produced for
appended GPT partitions only if ISOLINUX isohybrid was enabled.
2015-04-14 20:13:06 +02:00
Thomas Schmitt e56a782b89 Bug fix: If iso_write_opts_set_hardlinks() enabled automatic inode numbers,
then they did not get into effect with nodes were zisofs decoder filters got
attached during the image load process.
2015-03-09 19:59:54 +01:00
Thomas Schmitt 9e17516e0d Based the iso_stream_cmp_ino() comparison of streams from the loaded
ISO filesystem on their data extents rather than on their inode numbers.
2015-03-09 19:49:39 +01:00
Thomas Schmitt e29cd723dd Accounting for a long AAIP list in root directory. 2015-03-05 15:44:47 +01:00
Thomas Schmitt b0694b4e25 Name change with some debugging macros. 2015-03-01 22:18:59 +01:00
Thomas Schmitt 850302dde5 Fixed another bug introduced by rev 1084.
The assumption was wrong that CE must be the last SUSP entry in its
directory record.
2015-03-01 22:14:35 +01:00
Thomas Schmitt 26b4222948 Fixed a bug introduced with rev 1184.
Calculated size of the directory tree could differ from written size.
2015-03-01 17:52:19 +01:00
Thomas Schmitt 782bb7854e New system area type 6 = DEC Alpha SRM boot sector.
New API calls iso_image_set_alpha_boot(), iso_image_get_alpha_boot().
Thanks to Helge Deller.
2015-02-28 15:13:38 +01:00
Thomas Schmitt 9c33eb5f10 Forgot to update copyright in previous commit. 2015-02-28 14:45:29 +01:00
Thomas Schmitt 8e55195edc Working around a Linux kernel bug, which hides files of which the
Rock Ridge CE entry points to a range that crosses a block boundary,
or of which the byte offset is larger than the block size of 2048.
Thanks to Joerg Meyer.
2015-02-26 17:56:34 +01:00
Thomas Schmitt 527b613607 New API call iso_write_opts_set_appended_as_gpt()
and marking of appended partitions in GPT if GPT emerges for other reasons.
2015-02-06 11:59:25 +01:00
Thomas Schmitt 3b0ba17f3d Avoiding a SIGSEGV with loading a faulty ISO filesystem.
Debian bug 774152. Thanks to Jakub Wilk.
2014-12-29 18:32:53 +01:00
Thomas Schmitt 585a54d020 Improved size estimation when loading ISO with hidden El Torito images 2014-12-03 20:22:30 +01:00
Thomas Schmitt 7ea6d4ebcb Forced ECMA-119 timestamp generation to GMT if no timezone info is available. 2014-11-28 12:08:21 +01:00
Thomas Schmitt 3e33fa5fa1 Equipped all non-system-dependent open(2) calls with O_BINARY. 2014-11-26 14:44:43 +01:00
Thomas Schmitt cdc336a02b Checking at configure time for timezone integer variable. 2014-11-26 14:26:14 +01:00
Thomas Schmitt 288eb75745 Removed a surplus function definition from system_area.h which spoiled
compilation on Cygwin. Thanks to Gary Jiang.
2014-11-21 10:26:46 +01:00
Thomas Schmitt 210b5817cb Letting lfs_read() retry if read(2) returns a short byte count. 2014-11-20 13:15:35 +01:00
Thomas Schmitt 2fe0bf511b Continuing GPT inspection even if reading of GPT backup fails 2014-11-11 12:28:23 +01:00
Thomas Schmitt af23ad0f90 Bug fix: Only 128 bytes of an emerging GPT header block were zeroized 2014-11-04 13:48:31 +01:00
Thomas Schmitt 0fc4421e15 Bug fix: The header indicator of the last El Torito catalog section header
was set to 0x90 rather than 0x91 if more than one boot image is in that
section.
2014-10-11 14:57:48 +02:00
Thomas Schmitt 6ed2404420 Recording the need for boot-info-table and grub2-boot-info
in El Torito images which get defined by commands rather
than being loaded from an ISO filesystem.
2014-10-11 14:31:13 +02:00
Thomas Schmitt a22c16d5ef Increased default weight of El Torito boot catalog to 1 billion 2014-10-05 13:17:53 +02:00
Thomas Schmitt 5384342336 Re-arranged help texts of iso_image_report_system_area() and iso_image_report_el_torito() 2014-10-05 13:15:51 +02:00
Thomas Schmitt a97c66ebb8 Preserving the weights of imported boot image files 2014-10-03 17:41:59 +02:00
Thomas Schmitt 1c2851b5ba Preserving the weights of imported boot image files. 2014-10-03 17:07:35 +02:00
Thomas Schmitt cbea1335d8 Small corrections with MBR assessment of iso_image_report_system_area() 2014-10-03 09:46:59 +02:00
Thomas Schmitt c47451d12b Bug fix: iso_image_report_system_area() caused SIGSEGV by NULL if no valid
ISO 9660 image was loeaded. Thanks to OmegaPhil.
2014-08-16 15:01:11 +02:00
Thomas Schmitt eae886bcb5 Version leap to 1.3.9 2014-06-28 08:19:22 +02:00
Thomas Schmitt 288e778875 Version leap to 1.3.8 2014-06-28 08:14:27 +02:00
Thomas Schmitt 273182aa2a Avoiding complaints of iso_image_report_system_area() about backup GPT
created by a corrected version of syslinux/utils/isohybrid.c
2014-06-23 14:31:23 +02:00
Thomas Schmitt e26d07ee77 Enabled recording and restoring of extattr on NetBSD 2014-06-20 09:07:51 +02:00
Thomas Schmitt 1b5caac764 Made declarations of make_isolinux_mbr() consistent.
Debian bug 751501. Thanks to Michael Tautschnig.
2014-06-13 16:25:00 +02:00
Thomas Schmitt 42821af4e6 Tolerating ECMA-119 Extended Attributes when loading an image 2014-06-13 09:34:30 +02:00
Thomas Schmitt c17ba1980a Clarified which inode is local ino_t and which is Rock Ridge uint32_t. 2014-05-27 21:31:53 +02:00
Thomas Schmitt 1df1642a61 Corrected help text of iso_image_report_system_area() 2014-05-08 20:07:46 +02:00
Thomas Schmitt c07f42dfd4 Unified width of index columns to 3 digits in output of iso_image_report_*() 2014-04-29 19:39:42 +02:00
Thomas Schmitt 443156e100 Re-arranged output lines of iso_image_report_el_torito() 2014-04-29 19:17:06 +02:00
Thomas Schmitt 2f517301de Reacted on a compiler warning about an unused variable. 2014-04-28 21:06:10 +02:00
Thomas Schmitt 0bce145343 Changed report format of detected El Torito boot image options 2014-04-27 15:13:57 +02:00
Thomas Schmitt 6d64bc23cf Estimating size of El Torito boot images which are not represented by a file 2014-04-27 12:09:13 +02:00
Thomas Schmitt 25295d2bb0 Polished help text of iso_image_report_system_area() 2014-04-25 09:40:37 +02:00
Thomas Schmitt 3370f666f9 Split the large macro ISO_SYSAREA_REPORT_DOC into several parts ISO_SYSAREA_REPORT_DOC* 2014-04-24 13:56:52 +02:00
Thomas Schmitt ad279352e3 New API call iso_image_report_el_torito() 2014-04-24 10:15:56 +02:00
Thomas Schmitt dfd74d3d04 Bug fix: iso_file_get_old_image_lba() returned 0 in case of valid lba. 2014-04-23 16:22:37 +02:00
Thomas Schmitt 593844b0ed Recognizing partition offset 16 if the MBR is a protective msdos label 2014-04-15 10:18:50 +02:00
Thomas Schmitt 083795cba2 Changed start of overall isohybrid GPT partition from 0 to partition_offset 2014-04-14 17:54:07 +02:00
Thomas Schmitt 3b06d25a37 Removed a surplus semicolon of previous changeset 2014-04-14 16:18:50 +02:00
Thomas Schmitt 9e5158f59e Closed a memory leak introduced with rev 1133 2014-04-14 16:06:32 +02:00
Thomas Schmitt d93be961e1 Closed a memory leak with disposal of iso_image_report_system_area() result 2014-04-13 11:21:33 +02:00
Thomas Schmitt 8c1c0775d6 Closed a memory leak with loading of hidden boot images 2014-04-13 11:07:10 +02:00
Thomas Schmitt 2f8bd3ac01 Split the output of iso_image_report_system_area() into separate texts. 2014-04-13 09:16:45 +02:00
Thomas Schmitt 6edc1ac057 New API call iso_crc32_gpt() 2014-04-12 14:54:54 +02:00
Thomas Schmitt a394f4dfd2 Bug fix: The GUIDs of main GPT and backup GPT differed if more than one
System Area was written into the ISO image.
2014-04-11 16:15:19 +02:00
Thomas Schmitt dd27f579eb New API call iso_image_report_system_area() 2014-04-11 15:39:45 +02:00
Thomas Schmitt af843e446f Included fcntl.h in libisofs.h to work around "#define open open64" in
fcntl.h of AIX. Thanks to Richard Nolde.
2014-04-09 09:48:31 +02:00
Thomas Schmitt e6e037f87e Re-enabled HP-PA PALO boot preparations 2014-04-09 09:02:51 +02:00
Thomas Schmitt ed8066580a Reacted on compiler warning of gcc on AIX. Thanks Richard Nolde. 2014-04-03 21:45:19 +02:00
Thomas Schmitt 97ec68530b Applied similar bug fixes to Joliet and ISO 9660:1999 2014-04-02 19:40:17 +02:00
Thomas Schmitt 185cbd99bf Bug fix: Prevent allocation of empty ECMA-119 directory children list.
Thanks Richard Nolde.
2014-04-02 19:06:53 +02:00
Thomas Schmitt 0e00aeb638 Bug fix: Prevent allocation of empty hash tables. Thanks Richard Nolde. 2014-04-02 18:40:03 +02:00
Thomas Schmitt 03b45c3151 Version leap to 1.3.7 2014-03-04 17:08:29 +01:00
Thomas Schmitt b82ca42f87 Version leap to 1.3.6 2014-03-04 17:00:54 +01:00
Thomas Schmitt ef528f2f0e Temporarily disabled the unfinished HP-PA PALO bootability preparations 2014-03-04 09:23:04 +01:00
Thomas Schmitt bedfa914d5 Temporarily disabled the unfinished HP-PA PALO bootability preparations 2014-03-03 20:15:08 +01:00
Thomas Schmitt 5383ae2faa Fixed a memory fault introduced with rev 1106 2014-02-16 14:42:39 +01:00
Thomas Schmitt d23462657b Installed debugging code for error ISO_RR_NAME_RESERVED 2014-02-16 14:40:28 +01:00
Thomas Schmitt 985015cea1 Making sure that PVD time strings are allocated with 17 bytes plus trailing 0 2014-02-13 16:25:15 +01:00
Thomas Schmitt 5b78efb12a Clarified the content of the PVD timestamps. 2014-02-09 13:29:50 +01:00
Thomas Schmitt 2c2fb7caf2 Fixed a harmless bug introduced with rev 1111. 2014-01-26 10:07:10 +01:00
Thomas Schmitt d51cefb097 Adapted HP-PA boot sector code to upcomming PALO header version 5 2014-01-16 11:59:58 +01:00
Thomas Schmitt 7637d13e11 New API calls iso_image_set_hppa_palo() and iso_image_get_hppa_palo() 2014-01-14 09:43:28 +01:00
Thomas Schmitt b9b5284f22 Beautified the collision avoiding names 2014-01-04 16:28:25 +01:00
Thomas Schmitt afa65e9f2a Reduced minimum length of collision avoiding name from 8 to 7 2014-01-03 21:16:56 +01:00
Thomas Schmitt 5e1aaca232 Avoided unnecessary recursion with production of collision avoiding names 2014-01-03 20:53:59 +01:00
Thomas Schmitt fea649835c Small fix of previous change 2014-01-03 20:00:04 +01:00
Thomas Schmitt 44f475a4ef Improved handling of unconvertable file names and name collsions during iso_image_import() 2014-01-03 18:29:29 +01:00