Code

Added upstream patch bts499349-memleaks.
[pkg-rrdtool.git] / debian / patches / bts496847-error-handling
1 diff a/src/rrd_tool.c b/src/rrd_tool.c
2 --- a/src/rrd_tool.c
3 +++ b/src/rrd_tool.c
4 @@ -424,11 +424,8 @@ int main(
5                     == 0) {
6  
7  #ifdef HAVE_CHROOT
8 -                chroot(argv[2]);
9 -                if (errno != 0) {
10 -                    fprintf(stderr,
11 -                            "ERROR: can't change root to '%s' errno=%d\n",
12 -                            argv[2], errno);
13 +                if (chroot(argv[2]) != 0){
14 +                    fprintf(stderr, "ERROR: chroot %s: %s\n", argv[2],rrd_strerror(errno));
15                      exit(errno);
16                  }
17                  ChangeRoot = 1;
18 @@ -444,9 +441,8 @@ int main(
19              }
20          }
21          if (strcmp(firstdir, "")) {
22 -            chdir(firstdir);
23 -            if (errno != 0) {
24 -                fprintf(stderr, "ERROR: %s\n", rrd_strerror(errno));
25 +            if (chdir(firstdir) != 0){
26 +                fprintf(stderr, "ERROR: chdir %s %s\n", firstdir,rrd_strerror(errno));
27                  exit(errno);
28              }
29          }
30 @@ -520,7 +516,6 @@ int HandleInputLine(
31  
32      /* Reset errno to 0 before we start.
33       */
34 -    errno = 0;
35      if (RemoteMode) {
36          if (argc > 1 && strcmp("quit", argv[1]) == 0) {
37              if (argc > 2) {
38 @@ -543,9 +538,8 @@ int HandleInputLine(
39                  return (1);
40              }
41  #endif
42 -            chdir(argv[2]);
43 -            if (errno != 0) {
44 -                printf("ERROR: %s\n", rrd_strerror(errno));
45 +            if (chdir(argv[2]) != 0){
46 +                printf("ERROR: chdir %s %s\n", argv[2], rrd_strerror(errno));
47                  return (1);
48              }
49              return (0);
50 @@ -557,7 +551,7 @@ int HandleInputLine(
51              }
52              cwd = getcwd(NULL, MAXPATH);
53              if (cwd == NULL) {
54 -                printf("ERROR: %s\n", rrd_strerror(errno));
55 +                printf("ERROR: getcwd %s\n", rrd_strerror(errno));
56                  return (1);
57              }
58              printf("%s\n", cwd);
59 @@ -577,9 +571,8 @@ int HandleInputLine(
60                  return (1);
61              }
62  #endif
63 -            mkdir(argv[2], 0777);
64 -            if (errno != 0) {
65 -                printf("ERROR: %s\n", rrd_strerror(errno));
66 +            if(mkdir(argv[2], 0777)!=0){
67 +                printf("ERROR: mkdir %s: %s\n", argv[2],rrd_strerror(errno));
68                  return (1);
69              }
70              return (0);
71 @@ -607,7 +600,7 @@ int HandleInputLine(
72                  }
73                  closedir(curdir);
74              } else {
75 -                printf("ERROR: %s\n", rrd_strerror(errno));
76 +                printf("ERROR: opendir .: %s\n", rrd_strerror(errno));
77                  return (errno);
78              }
79              return (0);