diff options
author | Juergen Daubert <jue@jue.li> | 2012-04-26 16:57:07 +0200 |
---|---|---|
committer | Juergen Daubert <jue@jue.li> | 2012-04-26 16:57:07 +0200 |
commit | 7e239d615a8d9d0632d7d24bbb084a097f01db29 (patch) | |
tree | c2afd1714b87e7e167311be4b962b59d75089cb8 /mc | |
parent | bbde12032652de0417fbc2aae8878990b1013aa1 (diff) | |
download | opt-7e239d615a8d9d0632d7d24bbb084a097f01db29.tar.gz opt-7e239d615a8d9d0632d7d24bbb084a097f01db29.tar.xz |
mc: apply important fixes for 4.8.3
https://www.midnight-commander.org/ticket/2784
https://www.midnight-commander.org/ticket/2787
https://www.midnight-commander.org/ticket/2785
Diffstat (limited to 'mc')
-rw-r--r-- | mc/.md5sum | 1 | ||||
-rw-r--r-- | mc/Pkgfile | 7 | ||||
-rw-r--r-- | mc/mc-4.8.3-2.patch | 97 |
3 files changed, 103 insertions, 2 deletions
diff --git a/mc/.md5sum b/mc/.md5sum index 165a6a241..9e85f6bc5 100644 --- a/mc/.md5sum +++ b/mc/.md5sum @@ -1 +1,2 @@ +df082854ae748c4bf5016b1bbb0af9e2 mc-4.8.3-2.patch 1e29f8d2ce66b686b905857553a092be mc-4.8.3.tar.xz diff --git a/mc/Pkgfile b/mc/Pkgfile index d3038e8c2..7f892256b 100644 --- a/mc/Pkgfile +++ b/mc/Pkgfile @@ -5,12 +5,15 @@ name=mc version=4.8.3 -release=1 -source=(http://www.midnight-commander.org/downloads/$name-$version.tar.xz) +release=2 +source=(http://www.midnight-commander.org/downloads/$name-$version.tar.xz + $name-$version-$release.patch) build () { cd $name-$version + patch -p1 -i $SRC/$name-$version-$release.patch + ./configure --prefix=/usr \ --mandir=/usr/man \ --libexecdir=/usr/lib \ diff --git a/mc/mc-4.8.3-2.patch b/mc/mc-4.8.3-2.patch new file mode 100644 index 000000000..085b02e04 --- /dev/null +++ b/mc/mc-4.8.3-2.patch @@ -0,0 +1,97 @@ +commit 8607bcc103ce2f9449b6b9736a9709cdb62a7178 +Author: Andrew Borodin <aborodin@vmail.ru> +Date: Mon Apr 23 20:46:49 2012 +0400 + + Ticket #2785: error message when entering into compressed tar and cpio archives. + + Signed-off-by: Andrew Borodin <aborodin@vmail.ru> + +diff --git a/src/vfs/cpio/cpio.c b/src/vfs/cpio/cpio.c +index cf43749..a76d376 100644 +--- a/src/vfs/cpio/cpio.c ++++ b/src/vfs/cpio/cpio.c +@@ -249,7 +249,7 @@ cpio_open_cpio_file (struct vfs_class *me, struct vfs_s_super *super, const vfs_ + + mc_close (fd); + s = g_strconcat (super->name, decompress_extension (type), (char *) NULL); +- tmp_vpath = vfs_path_from_str (s); ++ tmp_vpath = vfs_path_from_str_flags (s, VPF_NO_CANON); + fd = mc_open (tmp_vpath, O_RDONLY); + vfs_path_free (tmp_vpath); + if (fd == -1) +diff --git a/src/vfs/tar/tar.c b/src/vfs/tar/tar.c +index 7406dbe..a1164d5 100644 +--- a/src/vfs/tar/tar.c ++++ b/src/vfs/tar/tar.c +@@ -316,7 +316,7 @@ tar_open_archive_int (struct vfs_class *me, const vfs_path_t * vpath, struct vfs + + mc_close (result); + s = g_strconcat (archive->name, decompress_extension (type), (char *) NULL); +- tmp_vpath = vfs_path_from_str (s); ++ tmp_vpath = vfs_path_from_str_flags (s, VPF_NO_CANON); + result = mc_open (tmp_vpath, O_RDONLY); + vfs_path_free (tmp_vpath); + if (result == -1) + + +commit 038b5e7406d177792d3e2cd904f6d32e5f392903 +Author: Andrew Borodin <aborodin@vmail.ru> +Date: Tue Apr 24 20:41:37 2012 +0400 + + Ticket #2787: crash when creating relative symlink. + + Signed-off-by: Andrew Borodin <aborodin@vmail.ru> + +diff --git a/lib/util.c b/lib/util.c +index 2c6011b..490bdfc 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -112,14 +112,14 @@ is_8bit_printable (unsigned char c) + static char * + resolve_symlinks (const vfs_path_t *vpath) + { +- char *p; ++ char *p, *p2; + char *buf, *buf2, *q, *r, c; + struct stat mybuf; + + if (vpath->relative) + return NULL; + +- p = vfs_path_to_str (vpath); ++ p = p2 = vfs_path_to_str (vpath); + r = buf = g_malloc (MC_MAXPATHLEN); + buf2 = g_malloc (MC_MAXPATHLEN); + *r++ = PATH_SEP; +@@ -181,7 +181,7 @@ resolve_symlinks (const vfs_path_t *vpath) + + ret: + g_free (buf2); +- g_free (p); ++ g_free (p2); + return buf; + } + + + +commit ac880c71a74c1fc75d7162b2ca3613970479e663 +Author: Andrew Borodin <aborodin@vmail.ru> +Date: Mon Apr 23 09:37:32 2012 +0400 + + Ticket #2784: segfault at chown. + + Signed-off-by: Andrew Borodin <aborodin@vmail.ru> + +diff --git a/src/filemanager/chown.c b/src/filemanager/chown.c +index 77ce0ae..5953023 100644 +--- a/src/filemanager/chown.c ++++ b/src/filemanager/chown.c +@@ -378,7 +378,7 @@ chown_cmd (void) + if (mc_chown (fname_vpath, new_user, new_group) == -1) + message (D_ERROR, MSG_ERROR, _("Cannot chown \"%s\"\n%s"), + fname, unix_error_string (errno)); +- vfs_path_free (vpath); ++ vfs_path_free (fname_vpath); + } + else + apply_chowns (new_user, new_group); |