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

Bug#734939: texlive-binaries: synctex view with -x crashes consistently



On 2014-01-10 23:56:30, Sebastian Ramacher wrote:
> The attached patch fixes both issue. Please consider applying the patch
> or fixing the issues in another way.

I've accidently attached an old version of the patch. Here is the new
one.

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 + 1)) {
 					synctex_help_view("Memory copy problem");
 					free(buffer);
 					return -1;
 				}
+				buffer_cur[size] = '\0';
 				printf("SyncTeX: Executing\n%s\n",buffer);
 				status = system(buffer);
 				free(buffer);

Attachment: signature.asc
Description: Digital signature


Reply to: