windows-afsd-xdr-free-20090401
[openafs.git] / src / WINNT / afsd / cm_volume.c
index 03862b8..e41d05a 100644 (file)
@@ -163,7 +163,8 @@ long cm_UpdateVolumeLocation(struct cm_cell *cellp, cm_user_t *userp, cm_req_t *
                     cm_volume_t *volp)
 {
     cm_conn_t *connp;
-    int i, j, k;
+    int i;
+    afs_uint32 j, k;
     cm_serverRef_t *tsrp;
     cm_server_t *tsp;
     struct sockaddr_in tsockAddr;
@@ -412,7 +413,7 @@ long cm_UpdateVolumeLocation(struct cm_cell *cellp, cm_user_t *userp, cm_req_t *
                         serverUUID[j] = uuid;
                     }
 
-                    free(addrs.bulkaddrs_val);  /* This is wrong */
+                    xdr_free(addrs.bulkaddrs_val, addrs.bulkaddrs_len * sizeof(*addrs.bulkaddrs_val));
 
                     if (nentries == 0)
                         code = CM_ERROR_INVAL;