summary refs log tree commit diff
path: root/nis/nis_clone.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-06-13 22:46:42 +0000
committerUlrich Drepper <drepper@redhat.com>1997-06-13 22:46:42 +0000
commitce37fa887b0ea89614d9538e90ade7356b80f48c (patch)
tree81d1a5ee19030345a12d916a1fe8419e2e031e7b /nis/nis_clone.c
parent714a562f0bf855da3835adb2dbecc245e39f8759 (diff)
downloadglibc-ce37fa887b0ea89614d9538e90ade7356b80f48c.tar.gz
glibc-ce37fa887b0ea89614d9538e90ade7356b80f48c.tar.xz
glibc-ce37fa887b0ea89614d9538e90ade7356b80f48c.zip
1997-06-14 00:39  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Add more libio functions which are used in libio.h.

	* login/Makefile (libutil-routines): Move updwtmp to ...
	(routines): ...here.
	Suggested by Mark Kettenis <kettenis@phys.uva.nl>.

	* sysdeps/stub/s_erfl.c: Add stub definition of erfcl.
	Reported by Andreas Jaeger <aj@arthur.rhein-neckar.de>.

1997-06-13 21:10  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_add.c (nis_add): Create object name only if not set.

	* nis/nis_clone.c: Use calloc instead of malloc to prevent
	RPC encode errors.

	* nis/nis_modify.c (nis_modify): Create default object entrys if
	given are NULL.
	* nis/nis/nis_table.c (nis_add_entry, nis_modify_entry): Likewise.

1997-06-13 14:17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>


	* sysdeps/i386/addmul_1.S: Replace size with sizeP, otherwise the
	define might also replace the expanded macro ASM_SIZE_DIRECTIVE.
	* sysdeps/i386/submul_1.S: Likewise.

1997-06-13 12:19  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c: Print version information if LD_TRACE_LOADED_OBJECT
	and LD_VERBOSE are given.

	* elf/ldd.sh.in: Add -v|--verbose option.  Add author information
	as per Coding Standard.
	* elf/ldd.bash.in: Likewise.

1997-06-12 21:22  Ulrich Drepper  <drepper@cygnus.com>
Diffstat (limited to 'nis/nis_clone.c')
-rw-r--r--nis/nis_clone.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/nis/nis_clone.c b/nis/nis_clone.c
index e4dc87d4c9..a1d753692c 100644
--- a/nis/nis_clone.c
+++ b/nis/nis_clone.c
@@ -161,9 +161,8 @@ nis_clone_group (const group_obj *src, group_obj *dest)
     {
       if (res->gr_members.gr_members_val == NULL)
 	{
-	  res->gr_members.gr_members_val =
-	    malloc (res->gr_members.gr_members_len * sizeof (nis_name));
-	  if (res->gr_members.gr_members_val == NULL)
+	  if ((res->gr_members.gr_members_val =
+	       malloc (res->gr_members.gr_members_len * sizeof (nis_name))) == NULL)
 	    return NULL;
 	}
       for (i = 0; i < res->gr_members.gr_members_len; ++i)
@@ -208,9 +207,8 @@ nis_clone_table (const table_obj *src, table_obj *dest)
   res->ta_cols.ta_cols_len = src->ta_cols.ta_cols_len;
   if (res->ta_cols.ta_cols_val == NULL)
     {
-      res->ta_cols.ta_cols_val =
-	malloc (src->ta_cols.ta_cols_len * sizeof (table_col));
-      if (res->ta_cols.ta_cols_val == NULL)
+      if ((res->ta_cols.ta_cols_val =
+	   calloc (1, src->ta_cols.ta_cols_len * sizeof (table_col))) == NULL)
 	return NULL;
     }
   for (i = 0; i < res->ta_cols.ta_cols_len; i++)
@@ -312,16 +310,19 @@ nis_clone_nis_attr (const nis_attr *src, nis_attr *dest)
     res->zattr_ndx = NULL;
 
   res->zattr_val.zattr_val_len = src->zattr_val.zattr_val_len;
-  if (res->zattr_val.zattr_val_val == NULL)
+  if (res->zattr_val.zattr_val_len > 0)
     {
-      res->zattr_val.zattr_val_val =
-	malloc (src->zattr_val.zattr_val_len);
       if (res->zattr_val.zattr_val_val == NULL)
-	return NULL;
+	{
+	  if ((res->zattr_val.zattr_val_val =
+	       calloc (1, src->zattr_val.zattr_val_len)) == NULL)
+	    return NULL;
+	}
+      memcpy (res->zattr_val.zattr_val_val, src->zattr_val.zattr_val_val,
+	      src->zattr_val.zattr_val_len);
     }
-  memcpy (res->zattr_val.zattr_val_val, src->zattr_val.zattr_val_val,
-	  src->zattr_val.zattr_val_len);
-
+  else
+    res->zattr_val.zattr_val_val = NULL;
   return res;
 }
 
@@ -440,15 +441,12 @@ nis_clone_objdata (const objdata *src, objdata *dest)
 	src->objdata_u.po_data.po_data_len;
       if (src->objdata_u.po_data.po_data_val)
         {
-	  res->objdata_u.po_data.po_data_val =
-	    malloc (res->objdata_u.po_data.po_data_len);
-	  if (res->objdata_u.po_data.po_data_val == NULL)
+	  if ((res->objdata_u.po_data.po_data_val =
+	       malloc (res->objdata_u.po_data.po_data_len)) == NULL)
 	    return NULL;
 	  memcpy (res->objdata_u.po_data.po_data_val,
 		  src->objdata_u.po_data.po_data_val,
 		  src->objdata_u.po_data.po_data_len);
-	  if (res->objdata_u.po_data.po_data_val == NULL)
-	    return NULL;
         }
       else
         {