patch-gnats_lists_c 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. $OpenBSD: patch-gnats_lists_c,v 1.1 2003/08/25 23:35:06 brad Exp $
  2. --- gnats/lists.c.orig Wed Nov 25 07:15:01 1998
  3. +++ gnats/lists.c Wed Jul 2 13:23:13 2003
  4. @@ -33,11 +33,13 @@ get_gnats_file (type, file)
  5. char line[STR_MAX];
  6. char *path = (char *) alloca (PATH_MAX);
  7. extern int doret;
  8. + size_t len;
  9. if (file)
  10. {
  11. - outf = (char *) xmalloc (strlen (file) + 5);
  12. - strcpy (outf, file);
  13. + len = strlen (file) + 5;
  14. + outf = (char *) xmalloc (len);
  15. + strlcpy (outf, file, len);
  16. }
  17. else
  18. fpout = stdout;
  19. @@ -45,37 +47,37 @@ get_gnats_file (type, file)
  20. if (type == LIST_CATEGORIES)
  21. {
  22. if (outf)
  23. - strcat (outf, ".cat");
  24. + strlcat (outf, ".cat", len);
  25. infile = CATEGORIES;
  26. }
  27. else if (type == LIST_SUBMITTERS)
  28. {
  29. if (outf)
  30. - strcat (outf, ".sub");
  31. + strlcat (outf, ".sub", len);
  32. infile = SUBMITTERS;
  33. }
  34. else if (type == LIST_RESPONSIBLE)
  35. {
  36. if (outf)
  37. - strcat (outf, ".res");
  38. + strlcat (outf, ".res", len);
  39. infile = RESPONSIBLE_FILE;
  40. }
  41. else if (type == LIST_STATES)
  42. {
  43. if (outf)
  44. - strcat (outf, ".sta");
  45. + strlcat (outf, ".sta", len);
  46. infile = STATES;
  47. }
  48. else if (type == LIST_CLASSES)
  49. {
  50. if (outf)
  51. - strcat (outf, ".cla");
  52. + strlcat (outf, ".cla", len);
  53. infile = CLASSES;
  54. }
  55. else if (type == LIST_CONFIG)
  56. {
  57. if (outf)
  58. - strcat (outf, ".cfg");
  59. + strlcat (outf, ".cfg", len);
  60. infile = CONFIG;
  61. }
  62. else
  63. @@ -126,7 +128,7 @@ get_gnats_file (type, file)
  64. }
  65. else
  66. {
  67. - sprintf (path, "%s/gnats-adm/%s", gnats_root, infile);
  68. + snprintf (path, PATH_MAX, "%s/gnats-adm/%s", gnats_root, infile);
  69. fpin = fopen (path, "r");
  70. if (fpin == (FILE *)NULL)
  71. return -1; /* XXX */