]> git.pld-linux.org Git - packages/libtirpc.git/blob - libtirpc-clnt_sperror.patch
- added link patch
[packages/libtirpc.git] / libtirpc-clnt_sperror.patch
1 diff --git a/src/clnt_perror.c b/src/clnt_perror.c
2 index e46d95f..8f53f8e 100644
3 --- a/src/clnt_perror.c
4 +++ b/src/clnt_perror.c
5 @@ -36,7 +36,6 @@
6   * Copyright (C) 1984, Sun Microsystems, Inc.
7   *
8   */
9 -#include <assert.h>
10  #include <stdio.h>
11  #include <stdlib.h>
12  #include <string.h>
13 @@ -75,8 +74,8 @@ clnt_sperror(rpch, s)
14         char *strstart;
15         size_t len, i;
16  
17 -       assert(rpch != NULL);
18 -       assert(s != NULL);
19 +       if (rpch == NULL || s == NULL)
20 +               return(0);
21  
22         str = _buf(); /* side effect: sets CLNT_PERROR_BUFLEN */
23         if (str == 0)
24 @@ -85,7 +84,8 @@ clnt_sperror(rpch, s)
25         strstart = str;
26         CLNT_GETERR(rpch, &e);
27  
28 -       if ((i = snprintf(str, len, "%s: ", s)) > 0) {
29 +       if (snprintf(str, len, "%s: ", s) > 0) {
30 +               i = strlen(str);
31                 str += i;
32                 len -= i;
33         }
34 @@ -113,7 +113,8 @@ clnt_sperror(rpch, s)
35  
36         case RPC_CANTSEND:
37         case RPC_CANTRECV:
38 -               i = snprintf(str, len, "; errno = %s", strerror(e.re_errno)); 
39 +               snprintf(str, len, "; errno = %s", strerror(e.re_errno)); 
40 +               i = strlen(str);
41                 if (i > 0) {
42                         str += i;
43                         len -= i;
44 @@ -121,8 +122,9 @@ clnt_sperror(rpch, s)
45                 break;
46  
47         case RPC_VERSMISMATCH:
48 -               i = snprintf(str, len, "; low version = %u, high version = %u", 
49 +               snprintf(str, len, "; low version = %u, high version = %u", 
50                         e.re_vers.low, e.re_vers.high);
51 +               i = strlen(str);
52                 if (i > 0) {
53                         str += i;
54                         len -= i;
55 @@ -131,18 +133,20 @@ clnt_sperror(rpch, s)
56  
57         case RPC_AUTHERROR:
58                 err = auth_errmsg(e.re_why);
59 -               i = snprintf(str, len, "; why = ");
60 +               snprintf(str, len, "; why = ");
61 +               i = strlen(str);
62                 if (i > 0) {
63                         str += i;
64                         len -= i;
65                 }
66                 if (err != NULL) {
67 -                       i = snprintf(str, len, "%s",err);
68 +                       snprintf(str, len, "%s",err);
69                 } else {
70 -                       i = snprintf(str, len,
71 +                       snprintf(str, len,
72                                 "(unknown authentication error - %d)",
73                                 (int) e.re_why);
74                 }
75 +               i = strlen(str);
76                 if (i > 0) {
77                         str += i;
78                         len -= i;
79 @@ -150,8 +154,9 @@ clnt_sperror(rpch, s)
80                 break;
81  
82         case RPC_PROGVERSMISMATCH:
83 -               i = snprintf(str, len, "; low version = %u, high version = %u", 
84 +               snprintf(str, len, "; low version = %u, high version = %u", 
85                         e.re_vers.low, e.re_vers.high);
86 +               i = strlen(str);
87                 if (i > 0) {
88                         str += i;
89                         len -= i;
90 @@ -159,8 +164,9 @@ clnt_sperror(rpch, s)
91                 break;
92  
93         default:        /* unknown */
94 -               i = snprintf(str, len, "; s1 = %u, s2 = %u", 
95 +               snprintf(str, len, "; s1 = %u, s2 = %u", 
96                         e.re_lb.s1, e.re_lb.s2);
97 +               i = strlen(str);
98                 if (i > 0) {
99                         str += i;
100                         len -= i;
101 @@ -177,8 +183,8 @@ clnt_perror(rpch, s)
102         const char *s;
103  {
104  
105 -       assert(rpch != NULL);
106 -       assert(s != NULL);
107 +       if (rpch == NULL || s == NULL)
108 +               return;
109  
110         (void) fprintf(stderr, "%s\n", clnt_sperror(rpch,s));
111  }
112 @@ -236,13 +242,15 @@ clnt_spcreateerror(s)
113         char *str;
114         size_t len, i;
115  
116 -       assert(s != NULL);
117 +       if (s == NULL)
118 +               return(0);
119  
120         str = _buf(); /* side effect: sets CLNT_PERROR_BUFLEN */
121         if (str == 0)
122                 return(0);
123         len = CLNT_PERROR_BUFLEN;
124 -       i = snprintf(str, len, "%s: ", s);
125 +       snprintf(str, len, "%s: ", s);
126 +       i = strlen(str);
127         if (i > 0)
128                 len -= i;
129         (void)strncat(str, clnt_sperrno(rpc_createerr.cf_stat), len - 1);
130 @@ -287,7 +295,8 @@ clnt_pcreateerror(s)
131         const char *s;
132  {
133  
134 -       assert(s != NULL);
135 +       if (s == NULL)
136 +               return;
137  
138         (void) fprintf(stderr, "%s\n", clnt_spcreateerror(s));
139  }
This page took 0.035594 seconds and 3 git commands to generate.