[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#403245: tetex-bin: dvipdfm crash in some timezones



Package: tetex-bin
Version: 3.0-27
Tags: patch

Hi!

We recently got https://launchpad.net/bugs/66474 about a dvipdfm
crash. I verified the crash and that the patch fixes it (and dvipdfm
still works normally).

Thanks,

Martin

-- 
Martin Pitt        http://www.piware.de
Ubuntu Developer   http://www.ubuntu.com
Debian Developer   http://www.debian.org
diff -u tetex-bin-3.0/debian/rules tetex-bin-3.0/debian/rules
--- tetex-bin-3.0/debian/rules
+++ tetex-bin-3.0/debian/rules
@@ -329,7 +329,7 @@
 	done
 
 	# needs devscripts in etch or from backports.org
-	debchange --distribution sarge-backports -b --newversion 3.0-24ubuntu1~bpo.1 "Recompiled for sarge."
+	debchange --distribution sarge-backports -b --newversion 3.0-24ubuntu2~bpo.1 "Recompiled for sarge."
 	debchange --append \
 	  "Add a Build-Depends on sarge's xlibs-dev to prevent linking against XOrg"
 	debchange --append \
diff -u tetex-bin-3.0/debian/changelog tetex-bin-3.0/debian/changelog
--- tetex-bin-3.0/debian/changelog
+++ tetex-bin-3.0/debian/changelog
@@ -1,3 +1,12 @@
+tetex-bin (3.0-24ubuntu2) feisty; urgency=low
+
+  * Add debian/patches/patch-dvipdfm-timezones:
+    - Fix dvipdfm crash in certain time zones.
+    - Thanks to Alex Murray for digging out the patch!
+    - Closes: LP#66474
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Fri, 15 Dec 2006 18:05:19 +0100
+
 tetex-bin (3.0-24ubuntu1) feisty; urgency=low
 
   * Merge to Debian unstable. Remaining Ubuntu changes:
diff -u tetex-bin-3.0/debian/patches/series tetex-bin-3.0/debian/patches/series
--- tetex-bin-3.0/debian/patches/series
+++ tetex-bin-3.0/debian/patches/series
@@ -16,0 +17 @@
+patch-dvipdfm-timezones
only in patch2:
unchanged:
--- tetex-bin-3.0.orig/debian/patches/patch-dvipdfm-timezones
+++ tetex-bin-3.0/debian/patches/patch-dvipdfm-timezones
@@ -0,0 +1,44 @@
+Index: tetex-bin-3.0/texk/dvipdfm/pdfdoc.c
+===================================================================
+--- tetex-bin-3.0.orig/texk/dvipdfm/pdfdoc.c	2006-12-15 18:18:02.000000000 +0100
++++ tetex-bin-3.0/texk/dvipdfm/pdfdoc.c	2006-12-15 18:18:06.000000000 +0100
+@@ -234,7 +234,7 @@
+ {
+ #ifndef HAVE_TIMEZONE
+   #ifdef TM_GM_TOFF
+-     #define timezone (bdtime->gm_toff)
++     #define timezone (bd_time->tm_gmtoff)
+   #else
+      #define timezone 0l
+ #endif /* TM_GM_TOFF */
+@@ -242,15 +242,26 @@
+   static char date_string[24];
+   time_t current_time;
+   struct tm *bd_time;
++  long hh, mm;
+   if (debug) {
+     fprintf (stderr, "(asn_date)");
+   }
+   time(&current_time);
+   bd_time = localtime(&current_time);
+-  sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%+03ld'%02ld'",
+-	   bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
+-	   bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec,
+-	   -timezone/3600, timezone%3600);
++  if (timezone == 0l) {
++    sprintf (date_string, "D:%04d%02d%02d%02d%02d%02dZ00'00'",
++	     bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
++	     bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec);
++  } else {
++    hh = timezone/3600;
++    mm = (timezone%3600)/60;
++    if (timezone < 0)
++      mm = -mm;
++    sprintf (date_string, "D:%04d%02d%02d%02d%02d%02d%+03ld'%02ld'",
++             bd_time -> tm_year+1900, bd_time -> tm_mon+1, bd_time -> tm_mday,
++             bd_time -> tm_hour, bd_time -> tm_min, bd_time -> tm_sec,
++             hh, mm);
++  }
+   return date_string;
+ }
+ 

Attachment: signature.asc
Description: Digital signature


Reply to: