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