nss: Group merge does not react to ERANGE during merge (RHEL-114260)
Resolves: RHEL-114260
This commit is contained in:
		
							parent
							
								
									e9807ccf09
								
							
						
					
					
						commit
						e96e9a5db8
					
				
							
								
								
									
										45
									
								
								glibc-RHEL-114260.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								glibc-RHEL-114260.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| commit 0fceed254559836b57ee05188deac649bc505d05 | ||||
| Author: Florian Weimer <fweimer@redhat.com> | ||||
| Date:   Fri Sep 12 21:33:34 2025 +0200 | ||||
| 
 | ||||
|     nss: Group merge does not react to ERANGE during merge (bug 33361) | ||||
|      | ||||
|     The break statement in CHECK_MERGE is expected to exit the surrounding | ||||
|     while loop, not the do-while loop with in the macro.  Remove the | ||||
|     do-while loop from the macro.  It is not needed to turn the macro | ||||
|     expansion into a single statement due to the way CHECK_MERGE is used | ||||
|     (and the statement expression would cover this anyway). | ||||
|      | ||||
|     Reviewed-by: Collin Funk <collin.funk1@gmail.com> | ||||
| 
 | ||||
| diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
 | ||||
| index eae6c3480e..2b0735fb6a 100644
 | ||||
| --- a/nss/getXXbyYY_r.c
 | ||||
| +++ b/nss/getXXbyYY_r.c
 | ||||
| @@ -157,19 +157,15 @@ __merge_einval (LOOKUP_TYPE *a,
 | ||||
|   | ||||
|  #define CHECK_MERGE(err, status)		\ | ||||
|    ({						\ | ||||
| -    do						\
 | ||||
| +    if (err)					\
 | ||||
|        {						\ | ||||
| -	if (err)				\
 | ||||
| -	  {					\
 | ||||
| -	    __set_errno (err);			\
 | ||||
| -	    if (err == ERANGE)			\
 | ||||
| -	      status = NSS_STATUS_TRYAGAIN;	\
 | ||||
| -	    else				\
 | ||||
| -	      status = NSS_STATUS_UNAVAIL;	\
 | ||||
| -	    break;				\
 | ||||
| -	  }					\
 | ||||
| +	__set_errno (err);			\
 | ||||
| +	if (err == ERANGE)			\
 | ||||
| +	  status = NSS_STATUS_TRYAGAIN;		\
 | ||||
| +	else					\
 | ||||
| +	  status = NSS_STATUS_UNAVAIL;		\
 | ||||
| +	break;					\
 | ||||
|        }						\ | ||||
| -    while (0);					\
 | ||||
|    }) | ||||
|   | ||||
|  /* Type of the lookup function we need here.  */ | ||||
| @ -115,7 +115,7 @@ end \ | ||||
| Summary: The GNU libc libraries | ||||
| Name: glibc | ||||
| Version: %{glibcversion} | ||||
| Release: %{glibcrelease}.25 | ||||
| Release: %{glibcrelease}.26 | ||||
| 
 | ||||
| # In general, GPLv2+ is used by programs, LGPLv2+ is used for | ||||
| # libraries. | ||||
| @ -1286,6 +1286,7 @@ Patch1051: glibc-RHEL-18039-4.patch | ||||
| Patch1052: glibc-RHEL-18039-5.patch | ||||
| Patch1053: glibc-RHEL-18039-6.patch | ||||
| Patch1054: glibc-RHEL-105326.patch | ||||
| Patch1055: glibc-RHEL-114260.patch | ||||
| 
 | ||||
| ############################################################################## | ||||
| # Continued list of core "glibc" package information: | ||||
| @ -2947,6 +2948,9 @@ fi | ||||
| %{_libdir}/libpthread_nonshared.a | ||||
| 
 | ||||
| %changelog | ||||
| * Fri Oct 03 2025 DJ Delorie <dj@redhat.com> - 2.28-251.26 | ||||
| - nss: Group merge does not react to ERANGE during merge (RHEL-114260) | ||||
| 
 | ||||
| * Thu Jul 24 2025 Florian Weimer  <fweimer@redhat.com> - 2.28-251.25 | ||||
| - CVE-2025-8058: Double free in regcomp (RHEL-105326) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user