This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/autofs.git#25aaf0b69441b4e7370a195cbf1c7988d0abef3d
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| autofs-5.1.7 - cleanup cache_delete() a little
 | |
| 
 | |
| From: Ian Kent <raven@themaw.net>
 | |
| 
 | |
| There's no reason to use local function storage for the passed in key
 | |
| just use the given key.
 | |
| 
 | |
| Also, if there's no hash array entry for the key then there's no cache
 | |
| entry so don't return a fail for this case.
 | |
| 
 | |
| Signed-off-by: Ian Kent <raven@themaw.net>
 | |
| ---
 | |
|  CHANGELOG   |    1 +
 | |
|  lib/cache.c |   11 +++--------
 | |
|  2 files changed, 4 insertions(+), 8 deletions(-)
 | |
| 
 | |
| diff --git a/CHANGELOG b/CHANGELOG
 | |
| index 6419052d..e822efec 100644
 | |
| --- a/CHANGELOG
 | |
| +++ b/CHANGELOG
 | |
| @@ -24,6 +24,7 @@
 | |
|  - eliminate some strlen calls in offset handling.
 | |
|  - don't add offset mounts to mounted mounts table.
 | |
|  - reduce umount EBUSY check delay.
 | |
| +- cleanup cache_delete() a little.
 | |
|  
 | |
|  25/01/2021 autofs-5.1.7
 | |
|  - make bind mounts propagation slave by default.
 | |
| diff --git a/lib/cache.c b/lib/cache.c
 | |
| index 03d0499a..a90bbb1d 100644
 | |
| --- a/lib/cache.c
 | |
| +++ b/lib/cache.c
 | |
| @@ -917,20 +917,15 @@ int cache_delete(struct mapent_cache *mc, const char *key)
 | |
|  	struct mapent *me = NULL, *pred;
 | |
|  	u_int32_t hashval = hash(key, mc->size);
 | |
|  	int ret = CHE_OK;
 | |
| -	char this[PATH_MAX];
 | |
| -
 | |
| -	strcpy(this, key);
 | |
|  
 | |
|  	me = mc->hash[hashval];
 | |
| -	if (!me) {
 | |
| -		ret = CHE_FAIL;
 | |
| +	if (!me)
 | |
|  		goto done;
 | |
| -	}
 | |
|  
 | |
|  	while (me->next != NULL) {
 | |
|  		pred = me;
 | |
|  		me = me->next;
 | |
| -		if (strcmp(this, me->key) == 0) {
 | |
| +		if (strcmp(key, me->key) == 0) {
 | |
|  			struct stack *s = me->stack;
 | |
|  			if (me->multi && !list_empty(&me->multi_list)) {
 | |
|  				ret = CHE_FAIL;
 | |
| @@ -959,7 +954,7 @@ int cache_delete(struct mapent_cache *mc, const char *key)
 | |
|  	if (!me)
 | |
|  		goto done;
 | |
|  
 | |
| -	if (strcmp(this, me->key) == 0) {
 | |
| +	if (strcmp(key, me->key) == 0) {
 | |
|  		struct stack *s = me->stack;
 | |
|  		if (me->multi && !list_empty(&me->multi_list)) {
 | |
|  			ret = CHE_FAIL;
 |