version 1.43, 2006/03/19 02:12:09 |
version 1.46, 2006/05/29 21:55:41 |
Line 213 cgetcap(buf, cap, type) |
|
Line 213 cgetcap(buf, cap, type) |
|
* encountered (couldn't open/read a file, etc.), and -3 if a potential |
* encountered (couldn't open/read a file, etc.), and -3 if a potential |
* reference loop is detected. |
* reference loop is detected. |
*/ |
*/ |
|
/* coverity[+alloc : arg-*0] */ |
int |
int |
cgetent(char **buf, const char * const *db_array, const char *name) |
cgetent(char **buf, const char * const *db_array, const char *name) |
{ |
{ |
Line 243 cgetent(char **buf, const char * const * |
|
Line 244 cgetent(char **buf, const char * const * |
|
* names interpolated, a name can't be found, or depth exceeds |
* names interpolated, a name can't be found, or depth exceeds |
* MAX_RECURSION. |
* MAX_RECURSION. |
*/ |
*/ |
|
/* coverity[+alloc : arg-*0] */ |
static int |
static int |
getent(char **cap, size_t *len, const char * const *db_array, int fd, |
getent(char **cap, size_t *len, const char * const *db_array, int fd, |
const char *name, int depth, char *nfield) |
const char *name, int depth, char *nfield) |
Line 324 getent(char **cap, size_t *len, const ch |
|
Line 326 getent(char **cap, size_t *len, const ch |
|
} |
} |
/* save the data; close frees it */ |
/* save the data; close frees it */ |
clen = strlen(record); |
clen = strlen(record); |
cbuf = malloc(clen + 1); |
if ((cbuf = malloc(clen + 1)) == NULL) { |
|
(void)capdbp->close(capdbp); |
|
errno = ENOMEM; |
|
return (-2); |
|
} |
memmove(cbuf, record, clen + 1); |
memmove(cbuf, record, clen + 1); |
if (capdbp->close(capdbp) < 0) { |
if (capdbp->close(capdbp) < 0) { |
int serrno = errno; |
int serrno = errno; |
|
|
* specified by db_array. It returns 0 upon completion of the database, 1 |
* specified by db_array. It returns 0 upon completion of the database, 1 |
* upon returning an entry with more remaining, and -1 if an error occurs. |
* upon returning an entry with more remaining, and -1 if an error occurs. |
*/ |
*/ |
|
/* coverity[+alloc : arg-*0] */ |
int |
int |
cgetnext(char **bp, const char * const *db_array) |
cgetnext(char **bp, const char * const *db_array) |
{ |
{ |
Line 785 cgetnext(char **bp, const char * const * |
|
Line 792 cgetnext(char **bp, const char * const * |
|
line = toprec; |
line = toprec; |
} else { |
} else { |
line = fgetln(pfp, &len); |
line = fgetln(pfp, &len); |
if (line == NULL && pfp) { |
if (line == NULL) { |
|
if (pfp == NULL) |
|
return -1; |
if (ferror(pfp)) { |
if (ferror(pfp)) { |
(void)cgetclose(); |
(void)cgetclose(); |
return (-1); |
return (-1); |