summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-08-17 22:11:33 +0000
committerJeremy Allison <jra@samba.org>2001-08-17 22:11:33 +0000
commit569fd4ad370fe5ac9c392bba224ce54f468bcf97 (patch)
treec1ab0076aee173266639e069a3f9a4d290262314
parent9e5b05251ea8cca828f6bb7fe888aa4bb8c61bbc (diff)
downloadsamba-569fd4ad370fe5ac9c392bba224ce54f468bcf97.tar.gz
samba-569fd4ad370fe5ac9c392bba224ce54f468bcf97.tar.xz
samba-569fd4ad370fe5ac9c392bba224ce54f468bcf97.zip
Realloc fixes from HEAD.
-rw-r--r--source/rpc_parse/parse_creds.c43
1 files changed, 23 insertions, 20 deletions
diff --git a/source/rpc_parse/parse_creds.c b/source/rpc_parse/parse_creds.c
index 7bdbe658800..fcc8e59d100 100644
--- a/source/rpc_parse/parse_creds.c
+++ b/source/rpc_parse/parse_creds.c
@@ -52,7 +52,8 @@ reads or writes a structure.
********************************************************************/
BOOL creds_io_unix(char *desc, CREDS_UNIX *r_u, prs_struct *ps, int depth)
{
- if (r_u == NULL) return False;
+ if (r_u == NULL)
+ return False;
prs_debug(ps, depth, desc, "creds_io_unix");
depth++;
@@ -111,7 +112,8 @@ BOOL creds_io_unix_sec(char *desc, CREDS_UNIX_SEC *r_u, prs_struct *ps, int dept
{
uint32 i;
- if (r_u == NULL) return False;
+ if (r_u == NULL)
+ return False;
prs_debug(ps, depth, desc, "creds_io_unix_sec");
depth++;
@@ -121,21 +123,21 @@ BOOL creds_io_unix_sec(char *desc, CREDS_UNIX_SEC *r_u, prs_struct *ps, int dept
prs_uint32("uid", ps, depth, &(r_u->uid));
prs_uint32("gid", ps, depth, &(r_u->gid));
prs_uint32("num_grps", ps, depth, (uint32 *)&(r_u->num_grps));
- if (r_u->num_grps != 0)
- {
- r_u->grps = (uint32*)Realloc(r_u->grps,
- sizeof(r_u->grps[0]) *
- r_u->num_grps);
- if (r_u->grps == NULL)
- {
+ if (r_u->num_grps != 0) {
+ uint32 *tgr;
+
+ tgr = (uint32*)Realloc(r_u->grps,
+ sizeof(r_u->grps[0]) *
+ r_u->num_grps);
+ if (tgr == NULL) {
creds_free_unix_sec(r_u);
return False;
- }
+ } else
+ r_u->grps = tgr;
}
+
for (i = 0; i < r_u->num_grps; i++)
- {
prs_uint32("", ps, depth, &(r_u->grps[i]));
- }
return True;
}
@@ -197,16 +199,17 @@ BOOL creds_io_nt_sec(char *desc, CREDS_NT_SEC *r_u, prs_struct *ps, int depth)
prs_align(ps);
prs_uint32("num_grps", ps, depth, &(r_u->num_grps));
- if (r_u->num_grps != 0)
- {
- r_u->grp_rids = (uint32*)Realloc(r_u->grp_rids,
- sizeof(r_u->grp_rids[0]) *
- r_u->num_grps);
- if (r_u->grp_rids == NULL)
- {
+ if (r_u->num_grps != 0) {
+ uint32 *tgr;
+
+ tgr = (uint32*)Realloc(r_u->grp_rids,
+ sizeof(r_u->grp_rids[0]) *
+ r_u->num_grps);
+ if (tgr == NULL) {
creds_free_nt_sec(r_u);
return False;
- }
+ } else
+ r_u->grp_rids = tgr;
}
for (i = 0; i < r_u->num_grps; i++)
{