libadmin: Don't free garbage pointer
authorSimon Wilkinson <sxw@your-file-system.com>
Sat, 2 Mar 2013 11:02:09 +0000 (11:02 +0000)
committerJeffrey Altman <jaltman@your-file-system.com>
Thu, 7 Mar 2013 15:57:38 +0000 (07:57 -0800)
If we jump to the error handler early on in pts_GroupOwnerChange,
idlist may not have been used, and so we will end up trying to
free stack garbage.

Initialise the structure to 0 at the start of the function, so it
is always safe to enter the error handler.

Caught by coverity (#985962)

Change-Id: If70102e3da07135a9ec695f13caebe6298eff8ca
Reviewed-on: http://gerrit.openafs.org/9398
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/libadmin/pts/afs_ptsAdmin.c

index 0e6a1bf..845bab8 100644 (file)
@@ -468,6 +468,8 @@ pts_GroupOwnerChange(const void *cellHandle, const char *targetGroup,
     afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
     idlist ids;
 
+    memset(&ids, 0, sizeof(ids));
+
     /*
      * Validate arguments
      */