File fix4bug1241684.patch of Package gnuplot

commit a5897feadc4be73b0ffd8458556c47117bd24d03
Author: Ethan A Merritt <merritt@u.washington.edu>
Date:   Tue Mar 25 22:51:54 2025 -0700

    hpgl: font name parsing overruns the string by one char
    
    if no comma is present in the font name.
    E.g.
       set term pcl
       set title "Title" font "sans"    # no comma in font name
       plot x
    
    Bug 2781

diff --git term/hpgl.trm term/hpgl.trm
index 8e763d174..d432f7e39 100644
--- term/hpgl.trm
+++ term/hpgl.trm
@@ -1653,28 +1653,22 @@ TERM_PUBLIC int
 HPGL2_set_font(const char *font)
 {
     char name[MAX_ID_LEN + 1];
-    int sep;
-    int int_size;
-    double size;
+    char *sep;
+    double size = HPGL2_point_size;
 
     if (font == NULL)
 	font = "";
 
-    sep = strcspn(font, ",");
     strncpy(name, font, sizeof(name)-1);
 
-    if (sep < sizeof(name))
-	name[sep] = NUL;
-
-/* determine font size, use default from options if invalid */
-    int_size = 0;
-    /* FIXME: use strtod instead */
-    sscanf(&(font[sep + 1]), "%d", &int_size);
-    if (int_size > 0)
-	size = int_size;
-    else
-	size = HPGL2_point_size;
-
+    /* determine font size, use default from options if invalid */
+    sep = strchr(font, ',');
+    if (sep) {
+	double req_size = strtod(sep+1, NULL);
+	if (req_size > 0)
+	    size = req_size;
+	*sep = '\0';
+    }
     return HPGL2_set_font_size(name, size);
 }
 
openSUSE Build Service is sponsored by