25 lines
796 B
Plaintext
25 lines
796 B
Plaintext
overlapping memcpy
|
|
|
|
--- src/xsane.c.orig Tue Nov 16 21:57:51 2010
|
|
+++ src/xsane.c Thu Dec 4 13:54:42 2014
|
|
@@ -4892,7 +4892,7 @@ static void xsane_device_dialog(void)
|
|
char buf[TEXTBUFSIZE];
|
|
char windowname[TEXTBUFSIZE];
|
|
char devicetext[TEXTBUFSIZE];
|
|
- char *textptr;
|
|
+ char *cp, *textptr;
|
|
GtkWidget *xsane_window;
|
|
GtkWidget *xsane_vbox_main;
|
|
GtkWidget *xsane_vbox_standard;
|
|
@@ -4993,8 +4993,8 @@ static void xsane_device_dialog(void)
|
|
textptr = devicetext + strlen(devicetext);
|
|
}
|
|
|
|
- snprintf(buf, sizeof(buf), ":%s", devname);
|
|
- snprintf(buf, sizeof(buf), "/%s", (strrchr(buf, ':')+1));
|
|
+ cp = strrchr(devname, ':');
|
|
+ snprintf(buf, sizeof(buf), "/%s", cp ? cp + 1 : devname);
|
|
sprintf(textptr, "%s", (strrchr(buf, '/')+1));
|
|
|
|
xsane.device_text = strdup(devicetext);
|