Commit ac5f0785 authored by Jeremy Allison's avatar Jeremy Allison Committed by Gerald (Jerry) Carter
Browse files

r984: Ensure memmove & memcpy aren't called with len == 0.

Jeremy.
(This used to be commit 40c77dddc65e18b879d922379d562ffb8be80ab5)
parent e707189d
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -454,8 +454,10 @@ int get_share_modes(connection_struct *conn,
				i++;
			} else {
				DEBUG(10,("get_share_modes: deleted %s\n", share_mode_str(i, entry_p) ));
				if (num_share_modes - i - 1 > 0) {
					memcpy( &shares[i], &shares[i+1],
						sizeof(share_mode_entry) * (num_share_modes - i - 1));
				}
				num_share_modes--;
				del_count++;
			}
@@ -575,8 +577,10 @@ ssize_t del_share_entry( SMB_DEV_T dev, SMB_INO_T inode,
			if (ppse)
				*ppse = memdup(&shares[i], sizeof(*shares));
			data->u.num_share_mode_entries--;
			if ((dbuf.dsize - (sizeof(*data) + (i+1)*sizeof(*shares))) > 0) {
				memmove(&shares[i], &shares[i+1], 
					dbuf.dsize - (sizeof(*data) + (i+1)*sizeof(*shares)));
			}
			del_count++;

			DEBUG(10,("del_share_entry: deleting entry %d\n", i ));