1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- $OpenBSD: patch-gnats_pr_c,v 1.3 2007/12/28 17:11:25 espie Exp $
- --- gnats/pr.c.orig Wed Mar 3 01:18:54 1999
- +++ gnats/pr.c Fri Dec 28 18:00:24 2007
- @@ -205,7 +205,7 @@ read_pr (fp, prune)
- u = unformatted + unformatted_len;
- }
-
- - strcat (u, pr[UNFORMATTED].value);
- + strlcat (u, pr[UNFORMATTED].value, unformatted + unformatted_size - u);
- xfree (pr[UNFORMATTED].value);
- }
-
- @@ -293,14 +293,14 @@ write_pr (fp, string)
- {
- if (pr[string].datatype == MultiText)
- {
- - sprintf (fmt, "%%s%s", ret);
- + snprintf (fmt, sizeof(fmt), "%%s%s", ret);
- fprintf (fp, fmt, pr[string].name, pr[string].value);
- write_multitext (fp, pr[i].value);
- MAYBE_NL(pr[string].value);
- }
- else
- {
- - sprintf (fmt, "%%-16s %%s%s", ret);
- + snprintf (fmt, sizeof(fmt), "%%-16s %%s%s", ret);
- fprintf (fp, fmt, pr[string].name, pr[string].value);
- }
- }
- @@ -338,7 +338,7 @@ write_pr_from_index (fp, name, value)
- char fmt[10], *t;
- time_t time;
-
- - sprintf (fmt, "%%-16s %%s%s", ret);
- + snprintf (fmt, sizeof(fmt), "%%-16s %%s%s", ret);
-
- if (pr[name].datatype == Date)
- {
- @@ -367,9 +367,9 @@ get_pr_enum_field (filename, default_value)
- int len = 0, capacity = 80;
- int meaningful_line;
- FILE *fp;
- - char c;
- + int c;
-
- - sprintf (path, "%s/gnats-adm/%s", gnats_root, filename);
- + snprintf (path, PATH_MAX, "%s/gnats-adm/%s", gnats_root, filename);
- fp = fopen (path, "r");
-
- if (fp == NULL)
- @@ -531,7 +531,7 @@ get_final_enum_value (list_str, default_value)
- char *default_value;
- {
- char *res = NULL;
- - char *tmp, *end;
- + char *tmp;
-
- if (list_str == NULL)
- return default_value;
- @@ -751,9 +751,9 @@ check_enum_types (check)
- {
- if (check)
- {
- - char *msg = (char *) xmalloc (100 + strlen (pr[i].value)
- - + strlen (pr[i].name)
- - + strlen (pr[i].default_value));
- + size_t len = 100 + strlen (pr[i].value) + strlen (pr[i].name)
- + + strlen (pr[i].default_value);
- + char *msg = (char *) xmalloc (len);
- if (bad_enums == NULL)
- bad_enums = bad_enums_end
- = (struct bad_enum *) xmalloc (sizeof (struct bad_enum));
- @@ -765,15 +765,15 @@ check_enum_types (check)
- }
-
- if (check == 1)
- - sprintf (msg,
- + snprintf (msg, len,
- "\tNote: There was a bad value `%s' for the field `%s'.\n\tIt was set to the default value of `%s'.\n",
- pr[i].value, pr[i].name, pr[i].default_value);
- else if (check == 2)
- {
- if (is_daemon)
- - sprintf (msg, "%s %s", pr[i].name, pr[i].value);
- + snprintf (msg, len, "%s %s", pr[i].name, pr[i].value);
- else
- - sprintf (msg, "%s %s\n", pr[i].name, pr[i].value);
- + snprintf (msg, len, "%s %s\n", pr[i].name, pr[i].value);
- }
-
- bad_enums_end->msg = msg;
|