From: Jeffrey Altman Date: Wed, 1 Apr 2009 17:35:29 +0000 (+0000) Subject: windows-afsd-xdr-free-20090401 X-Git-Tag: openafs-devel-1_5_61~375 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=3d81394f9106b187c28e35328676e11b662025c6;p=packages%2Fo%2Fopenafs.git windows-afsd-xdr-free-20090401 LICENSE MIT make use of xdr_free() to release memory allocated within afsrpc.dll. this prevents crashes when the library is built with a different runtime library version than the application. fix signed/unsigned warnings in the same code snippet --- diff --git a/src/WINNT/afsd/cm_volume.c b/src/WINNT/afsd/cm_volume.c index 03862b84f..e41d05a73 100644 --- a/src/WINNT/afsd/cm_volume.c +++ b/src/WINNT/afsd/cm_volume.c @@ -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;