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

Bug#734939: marked as done (texlive-binaries: synctex view with -x crashes consistently)



Your message dated Tue, 3 Jun 2014 11:51:42 +0900
with message-id <20140603025142.GC2200@auth.logic.tuwien.ac.at>
and subject line Re: Bug#734939: texlive-binaries: synctex view with -x crashes consistently
has caused the Debian Bug report #734939,
regarding texlive-binaries: synctex view with -x crashes consistently
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
734939: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734939
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: texlive-binaries
Version: 2013.20130729.30972-2
Severity: normal
Tags: patch

I was trying to use "synctex view" with the optional -x argument, but
already a simple "syntex view -i input -o output -x echo" segfaults.
This is caused by an missing 0 in the string passed to system
(texk/web2c/synctexdir/synctex_main.c:469).

If that is fixed, synctex segfaults later while trying to parse more
optional arguments which are not there.

The attached patch fixes both issue. Please consider applying the patch
or fixing the issues in another way.

Regards
-- 
Sebastian Ramacher
--- a/texk/web2c/synctexdir/synctex_main.c
+++ b/texk/web2c/synctexdir/synctex_main.c
@@ -304,11 +304,11 @@
 				if(++arg_index<argc) {
 					goto option_command;
 				} else {
-					synctex_view_proceed(&Ps);
+					return synctex_view_proceed(&Ps);
 				}
 			} else {
 				Ps.directory = getenv("SYNCTEX_BUILD_DIRECTORY");
-				synctex_view_proceed(&Ps);
+				return synctex_view_proceed(&Ps);
 			}
 		}
 option_command:
@@ -320,7 +320,7 @@
 					if(++arg_index<argc) {
 						goto option_hint;
 					} else {
-						synctex_view_proceed(&Ps);
+						return synctex_view_proceed(&Ps);
 					}
 				} else {
 					/* retrieve the environment variable */
@@ -329,7 +329,7 @@
 				}
 			} else {
 				Ps.viewer = getenv("SYNCTEX_VIEWER");
-				synctex_view_proceed(&Ps);
+				return synctex_view_proceed(&Ps);
 			}
 		}
 option_hint:
@@ -347,7 +347,7 @@
 						*Ps.after = '\0';
 						if(Ps.offset<strlen(Ps.middle)) {
 							++Ps.after;
-							synctex_view_proceed(&Ps);
+							return synctex_view_proceed(&Ps);
 						}
 					}
 				}
@@ -460,11 +460,12 @@
 					break;
 				}
 				/* copy the rest of viewer into the buffer */
-				if(buffer_cur != memcpy(buffer_cur,viewer,strlen(viewer))) {
+				if(buffer_cur != strncpy(buffer_cur,viewer,size)) {
 					synctex_help_view("Memory copy problem");
 					free(buffer);
 					return -1;
 				}
+				buffer[size] = '\0';
 				printf("SyncTeX: Executing\n%s\n",buffer);
 				status = system(buffer);
 				free(buffer);

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Version: 2014

> I think Peter already applied them - at least I saw something similar flush by in the svnlog email.

Since the patch is included in TL svn it is also in the current
unstable binaries, closing this bug.

Thanks a lot

Norbert

------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0  ACF0 6CAC A448 860C DC13
------------------------------------------------------------------------

--- End Message ---

Reply to: