FreeBSD Bugzilla – Attachment 126482 Details for
Bug 170212
[PATCH] Update sysutils/dvdbackup from 0.4.1 to 0.4.2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
file.txt
file.txt (text/plain), 4.31 KB, created by
Fabian Keil
on 2012-07-27 15:30:06 UTC
(
hide
)
Description:
file.txt
Filename:
MIME Type:
Creator:
Fabian Keil
Created:
2012-07-27 15:30:06 UTC
Size:
4.31 KB
patch
obsolete
>From ec0175a143a4ada39a76959a1d3417570a876b25 Mon Sep 17 00:00:00 2001 >From: Fabian Keil <fk@fabiankeil.de> >Date: Fri, 27 Jul 2012 14:05:57 +0200 >Subject: [PATCH 2/2] Update sysutils/dvdbackup to 0.4.2 > >While at it set DEFAULT_DVD_DEVICE to /dev/cd0 >and fix a segfault when mirroring the disc fails. >--- > sysutils/dvdbackup/Makefile | 5 +- > sysutils/dvdbackup/distinfo | 4 +- > sysutils/dvdbackup/files/patch-src::dvdbackup.c | 66 +++++++++++------------ > 3 files changed, 34 insertions(+), 41 deletions(-) > >diff --git sysutils/dvdbackup/Makefile sysutils/dvdbackup/Makefile >index 95d5775..dc4925b 100644 >--- sysutils/dvdbackup/Makefile >+++ sysutils/dvdbackup/Makefile >@@ -6,8 +6,7 @@ > # > > PORTNAME= dvdbackup >-PORTVERSION= 0.4.1 >-PORTREVISION= 2 >+PORTVERSION= 0.4.2 > CATEGORIES= sysutils multimedia > MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} > >@@ -27,7 +26,7 @@ LDFLAGS+= -L${LOCALBASE}/lib > MAN1= dvdbackup.1 > PORTDOCS= NEWS README > >-DEFAULT_DVD_DEVICE?= /dev/acd0 >+DEFAULT_DVD_DEVICE?= /dev/cd0 > > .if !defined(WITHOUT_NLS) > USE_GETTEXT= yes >diff --git sysutils/dvdbackup/distinfo sysutils/dvdbackup/distinfo >index 70eca05..6c3e308 100644 >--- sysutils/dvdbackup/distinfo >+++ sysutils/dvdbackup/distinfo >@@ -1,2 +1,2 @@ >-SHA256 (dvdbackup-0.4.1.tar.gz) = ac9138b3265ef7f113d139e68130663937ce25322ae00922f74bab55aa63347b >-SIZE (dvdbackup-0.4.1.tar.gz) = 232885 >+SHA256 (dvdbackup-0.4.2.tar.gz) = 0a37c31cc6f2d3c146ec57064bda8a06cf5f2ec90455366cb250506bab964550 >+SIZE (dvdbackup-0.4.2.tar.gz) = 267049 >diff --git sysutils/dvdbackup/files/patch-src::dvdbackup.c sysutils/dvdbackup/files/patch-src::dvdbackup.c >index 5c509eb..09df013 100644 >--- sysutils/dvdbackup/files/patch-src::dvdbackup.c >+++ sysutils/dvdbackup/files/patch-src::dvdbackup.c >@@ -1,42 +1,36 @@ >---- src/dvdbackup.c.orig 2010-09-16 22:10:04.307951355 +0200 >-+++ src/dvdbackup.c 2010-09-16 22:19:49.112413564 +0200 >-@@ -99,7 +99,8 @@ >+From 174f78e556d83458e34558a95cebd4d1d0960818 Mon Sep 17 00:00:00 2001 >+From: Fabian Keil <fk@fabiankeil.de> >+Date: Tue, 10 Jul 2012 19:12:13 +0200 >+Subject: [PATCH] Keep the _dvd opened if DVDGetFileSet() fails in >+ DVDMirrorTitleSet() or DVDMirror() >+ >+The _dvd is always closed in main() and doing it twice >+results in double frees and depending on the malloc >+options used segmentation faults. >+--- >+ src/dvdbackup.c | 2 -- >+ 1 file changed, 2 deletions(-) >+ >+diff --git src/dvdbackup.c src/dvdbackup.c >+index 1ac96a5..ad411ea 100644 >+--- src/dvdbackup.c >++++ src/dvdbackup.c >+@@ -1547,7 +1547,6 @@ int DVDMirror(dvd_reader_t * _dvd, char * targetdir,char * title_name, read_erro > >- >- static int CheckSizeArray(const int size_array[], int reference, int target) { >-- if ( (size_array[reference]/size_array[target] == 1) && >-+ if ( size_array[target] && >-+ (size_array[reference]/size_array[target] == 1) && >- ((size_array[reference] * 2 - size_array[target])/ size_array[target] == 1) && >- ((size_array[reference]%size_array[target] * 3) < size_array[reference]) ) { >- /* We have a dual DVD with two feature films - now let's see if they have the same amount of chapters*/ >-@@ -1264,7 +1265,7 @@ >- >- /* Seek to title of first track, which is at (track_no * 32768) + 40 */ >- >-- if ( 32808 != lseek(filehandle, 32808, SEEK_SET) ) { >-+ if ( 32768 != lseek(filehandle, 32768, SEEK_SET) ) { >- close(filehandle); >- fprintf(stderr, _("Cannot seek DVD device %s - check your DVD device\n"), device); >+ title_set_info = DVDGetFileSet(_dvd); >+ if (!title_set_info) { >+- DVDClose(_dvd); > return(1); >-@@ -1272,10 +1273,16 @@ >+ } > >- /* Read the DVD-Video title */ >+@@ -1574,7 +1573,6 @@ int DVDMirrorTitleSet(dvd_reader_t * _dvd, char * targetdir,char * title_name, i >+ title_set_info = DVDGetFileSet(_dvd); > >-- if ( 32 != read(filehandle, title, 32)) { >-- close(filehandle); >-- fprintf(stderr, _("Cannot read title from DVD device %s\n"), device); >-- return(1); >-+#define DVD_SEC_SIZ 2048 >-+ { >-+ char tempBuf[ DVD_SEC_SIZ ]; >-+ >-+ if (DVD_SEC_SIZ != read(filehandle, tempBuf, DVD_SEC_SIZ)) { >-+ close(filehandle); >-+ fprintf(stderr, _("Cannot read title from DVD device %s\n"), device); >-+ return(1); >-+ } >-+ snprintf( title, 32, "%s", tempBuf + 40 ); >+ if (!title_set_info) { >+- DVDClose(_dvd); >+ return(1); > } > >- /* Terminate the title string */ >+-- >+1.7.10.3 >+ >-- >1.7.10.3
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 170212
: 126482