patch-wmGrabImage_c 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. --- wmGrabImage/wmGrabImage.c.orig Sun May 27 21:45:28 2001
  2. +++ wmGrabImage/wmGrabImage.c Wed Jun 18 22:55:56 2008
  3. @@ -158,7 +158,7 @@ int n, s, m, dt1, dt2, dt3, len;
  4. int Year, Month, Day;
  5. int Hours, Mins, Secs;
  6. int i, j, Width, Height, yoff, fd, Flag;
  7. -long CurrentLocalTime;
  8. +time_t CurrentLocalTime;
  9. double UT, hour24(), jd(), CurrentJD, OldFileUT, FileUT;
  10. char command[1040], ImageName[256];
  11. int havePixmap= 0;
  12. @@ -183,9 +183,9 @@ int havePixmap= 0;
  13. */
  14. len = strlen(ImageURL);
  15. for (j = 0, i=0; i<len; ++i){ if (ImageURL[i] == '/') j = i; }
  16. - strcpy(ImageName, ImageURL+j+1);
  17. - sprintf(XpmFileName, "%s/.wmGrabImage/%s.xpm", getenv("HOME"), ImageName);
  18. - sprintf(ImageFileName, "%s/.wmGrabImage/%s", getenv("HOME"), ImageName);
  19. + strlcpy(ImageName, ImageURL+j+1, sizeof(ImageName));
  20. + snprintf(XpmFileName, sizeof(XpmFileName), "%s/.wmGrabImage/%s.xpm", getenv("HOME"), ImageName);
  21. + snprintf(ImageFileName, sizeof(ImageFileName), "%s/.wmGrabImage/%s", getenv("HOME"), ImageName);
  22. openXwindow(argc, argv, wmGrabImage_master, wmGrabImage_mask_bits, wmGrabImage_mask_width, wmGrabImage_mask_height);
  23. @@ -426,9 +426,9 @@ int havePixmap= 0;
  24. * Execute Perl script to grab the Latest METAR Report
  25. */
  26. if (ConvertGeometry != NULL)
  27. - sprintf(command, "GrabImage %s %s &", ImageURL, ConvertGeometry);
  28. + snprintf(command, sizeof(command), "GrabImage %s %s &", ImageURL, ConvertGeometry);
  29. else
  30. - sprintf(command, "GrabImage %s &", ImageURL);
  31. + snprintf(command, sizeof(command), "GrabImage %s &", ImageURL);
  32. system(command);
  33. ForceUpdate = 1;
  34. @@ -470,7 +470,7 @@ void ParseCMDLine(int argc, char *argv[]) {
  35. } else if ((!strcmp(argv[i], "-url"))||(!strcmp(argv[i], "-u"))){
  36. - strcpy(ImageURL, argv[++i]);
  37. + strlcpy(ImageURL, argv[++i], sizeof(ImageURL));
  38. } else if (!strcmp(argv[i], "-delay")){
  39. @@ -482,7 +482,7 @@ void ParseCMDLine(int argc, char *argv[]) {
  40. } else if (!strcmp(argv[i], "-http")){
  41. - strcpy(HttpURL, argv[++i]);
  42. + strlcpy(HttpURL, argv[++i], sizeof(HttpURL));
  43. } else if (!strcmp(argv[i], "-geom")){
  44. @@ -604,7 +604,7 @@ void pressEvent(XButtonEvent *xev){
  45. if (GotDoubleClick1) {
  46. GotFirstClick1 = 0;
  47. GotDoubleClick1 = 0;
  48. - sprintf(Command, "xv %s &", ImageFileName);
  49. + snprintf(Command, sizeof(Command), "xv %s &", ImageFileName);
  50. system(Command);
  51. }
  52. @@ -615,7 +615,7 @@ void pressEvent(XButtonEvent *xev){
  53. if (GotDoubleClick2) {
  54. GotFirstClick2 = 0;
  55. GotDoubleClick2 = 0;
  56. - sprintf(Command, "netscape -remote 'openURL(%s)' || netscape '%s' &", HttpURL, HttpURL);
  57. + snprintf(Command, sizeof(Command), "netscape -remote 'openURL(%s)' || netscape '%s' &", HttpURL, HttpURL);
  58. system(Command);
  59. }