projects
/
external
/
glibc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
105b097
)
(__nscd_getai): Avoid memory and file descriptor leaks.
author
Ulrich Drepper
<drepper@redhat.com>
Mon, 22 Nov 2004 18:41:05 +0000
(18:41 +0000)
committer
Ulrich Drepper
<drepper@redhat.com>
Mon, 22 Nov 2004 18:41:05 +0000
(18:41 +0000)
nscd/nscd_getai.c
patch
|
blob
|
history
diff --git
a/nscd/nscd_getai.c
b/nscd/nscd_getai.c
index
f0b2082
..
24b374b
100644
(file)
--- a/
nscd/nscd_getai.c
+++ b/
nscd/nscd_getai.c
@@
-104,7
+104,7
@@
__nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop)
if (resultbuf == NULL)
{
*h_errnop = NETDB_INTERNAL;
-
return -1
;
+
goto out_close
;
}
/* Set up the data structure, including pointers. */
@@
-140,7
+140,10
@@
__nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop)
if (resultbuf->canon != NULL
&& resultbuf->canon[ai_resp->canonlen - 1] != '\0')
/* We cannot use the database. */
- goto out_close;
+ {
+ free (resultbuf);
+ goto out_close;
+ }
retval = 0;
*result = resultbuf;
@@
-173,6
+176,7
@@
__nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop)
mapped = NO_MAPPING;
}
+ *result = NULL;
free (resultbuf);
goto retry;