Resolves: #1996685 - add various Coverity/Clang cleanups
This commit is contained in:
		
							parent
							
								
									3197b2f7c7
								
							
						
					
					
						commit
						9781ac9f9d
					
				
							
								
								
									
										239
									
								
								apr-1.7.0-r1891269+.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										239
									
								
								apr-1.7.0-r1891269+.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,239 @@ | |||||||
|  | # ./pullrev.sh 1891269 1891198 1891196 | ||||||
|  | http://svn.apache.org/viewvc?view=revision&revision=1891269 | ||||||
|  | http://svn.apache.org/viewvc?view=revision&revision=1891198 | ||||||
|  | http://svn.apache.org/viewvc?view=revision&revision=1891196 | ||||||
|  | 
 | ||||||
|  | --- apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h
 | ||||||
|  | +++ apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h
 | ||||||
|  | @@ -33,8 +33,10 @@
 | ||||||
|  |  struct apr_thread_mutex_t { | ||||||
|  |      apr_pool_t *pool; | ||||||
|  |      pthread_mutex_t mutex; | ||||||
|  | +#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
 | ||||||
|  |      apr_thread_cond_t *cond; | ||||||
|  |      int locked, num_waiters; | ||||||
|  | +#endif
 | ||||||
|  |  }; | ||||||
|  |  #endif | ||||||
|  |   | ||||||
|  | --- apr-1.7.0/locks/unix/thread_mutex.c
 | ||||||
|  | +++ apr-1.7.0/locks/unix/thread_mutex.c
 | ||||||
|  | @@ -102,6 +102,7 @@
 | ||||||
|  |  { | ||||||
|  |      apr_status_t rv; | ||||||
|  |   | ||||||
|  | +#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
 | ||||||
|  |      if (mutex->cond) { | ||||||
|  |          apr_status_t rv2; | ||||||
|  |   | ||||||
|  | @@ -133,6 +134,7 @@
 | ||||||
|  |   | ||||||
|  |          return rv; | ||||||
|  |      } | ||||||
|  | +#endif
 | ||||||
|  |   | ||||||
|  |      rv = pthread_mutex_lock(&mutex->mutex); | ||||||
|  |  #ifdef HAVE_ZOS_PTHREADS | ||||||
|  | @@ -148,6 +150,7 @@
 | ||||||
|  |  { | ||||||
|  |      apr_status_t rv; | ||||||
|  |   | ||||||
|  | +#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
 | ||||||
|  |      if (mutex->cond) { | ||||||
|  |          apr_status_t rv2; | ||||||
|  |   | ||||||
|  | @@ -177,6 +180,7 @@
 | ||||||
|  |   | ||||||
|  |          return rv; | ||||||
|  |      } | ||||||
|  | +#endif
 | ||||||
|  |   | ||||||
|  |      rv = pthread_mutex_trylock(&mutex->mutex); | ||||||
|  |      if (rv) { | ||||||
|  | @@ -281,6 +285,7 @@
 | ||||||
|  |  { | ||||||
|  |      apr_status_t status; | ||||||
|  |   | ||||||
|  | +#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
 | ||||||
|  |      if (mutex->cond) { | ||||||
|  |          status = pthread_mutex_lock(&mutex->mutex); | ||||||
|  |          if (status) { | ||||||
|  | @@ -303,6 +308,7 @@
 | ||||||
|  |   | ||||||
|  |          mutex->locked = 0; | ||||||
|  |      } | ||||||
|  | +#endif
 | ||||||
|  |   | ||||||
|  |      status = pthread_mutex_unlock(&mutex->mutex); | ||||||
|  |  #ifdef HAVE_ZOS_PTHREADS | ||||||
|  | @@ -318,9 +324,12 @@
 | ||||||
|  |  { | ||||||
|  |      apr_status_t rv, rv2 = APR_SUCCESS; | ||||||
|  |   | ||||||
|  | +#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
 | ||||||
|  |      if (mutex->cond) { | ||||||
|  |          rv2 = apr_thread_cond_destroy(mutex->cond); | ||||||
|  |      } | ||||||
|  | +#endif
 | ||||||
|  | +
 | ||||||
|  |      rv = apr_pool_cleanup_run(mutex->pool, mutex, thread_mutex_cleanup); | ||||||
|  |      if (rv == APR_SUCCESS) { | ||||||
|  |          rv = rv2; | ||||||
|  | --- apr-1.7.0/random/unix/sha2.c
 | ||||||
|  | +++ apr-1.7.0/random/unix/sha2.c
 | ||||||
|  | @@ -425,7 +425,7 @@
 | ||||||
|  |          usedspace = freespace = 0; | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | -void apr__SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {
 | ||||||
|  | +void apr__SHA256_Final(sha2_byte digest[SHA256_DIGEST_LENGTH], SHA256_CTX* context) {
 | ||||||
|  |          sha2_word32     *d = (sha2_word32*)digest; | ||||||
|  |          unsigned int    usedspace; | ||||||
|  |   | ||||||
|  | @@ -496,7 +496,7 @@
 | ||||||
|  |          usedspace = 0; | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | -char *apr__SHA256_End(SHA256_CTX* context, char buffer[]) {
 | ||||||
|  | +char *apr__SHA256_End(SHA256_CTX* context, char buffer[SHA256_DIGEST_STRING_LENGTH]) {
 | ||||||
|  |          sha2_byte       digest[SHA256_DIGEST_LENGTH], *d = digest; | ||||||
|  |          int             i; | ||||||
|  |   | ||||||
|  | --- apr-1.7.0/time/unix/time.c
 | ||||||
|  | +++ apr-1.7.0/time/unix/time.c
 | ||||||
|  | @@ -142,6 +142,9 @@
 | ||||||
|  |      static const int dayoffset[12] = | ||||||
|  |      {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; | ||||||
|  |   | ||||||
|  | +    if (xt->tm_mon < 0 || xt->tm_mon >= 12)
 | ||||||
|  | +        return APR_EBADDATE;
 | ||||||
|  | +
 | ||||||
|  |      /* shift new year to 1st March in order to make leap year calc easy */ | ||||||
|  |   | ||||||
|  |      if (xt->tm_mon < 2) | ||||||
|  | --- apr-1.7.0/time/win32/time.c
 | ||||||
|  | +++ apr-1.7.0/time/win32/time.c
 | ||||||
|  | @@ -54,6 +54,9 @@
 | ||||||
|  |      static const int dayoffset[12] = | ||||||
|  |      {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; | ||||||
|  |   | ||||||
|  | +    if (tm->wMonth < 1 || tm->wMonth > 12)
 | ||||||
|  | +        return APR_EBADDATE;
 | ||||||
|  | +
 | ||||||
|  |      /* Note; the caller is responsible for filling in detailed tm_usec, | ||||||
|  |       * tm_gmtoff and tm_isdst data when applicable. | ||||||
|  |       */ | ||||||
|  | @@ -228,6 +231,9 @@
 | ||||||
|  |      static const int dayoffset[12] = | ||||||
|  |      {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275}; | ||||||
|  |   | ||||||
|  | +    if (xt->tm_mon < 0 || xt->tm_mon >= 12)
 | ||||||
|  | +        return APR_EBADDATE;
 | ||||||
|  | +
 | ||||||
|  |      /* shift new year to 1st March in order to make leap year calc easy */ | ||||||
|  |   | ||||||
|  |      if (xt->tm_mon < 2) | ||||||
|  | --- apr-1.7.0/file_io/unix/readwrite.c
 | ||||||
|  | +++ apr-1.7.0/file_io/unix/readwrite.c
 | ||||||
|  | @@ -146,7 +146,7 @@
 | ||||||
|  |   | ||||||
|  |  APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, apr_size_t *nbytes) | ||||||
|  |  { | ||||||
|  | -    apr_size_t rv;
 | ||||||
|  | +    apr_size_t rv = APR_SUCCESS;
 | ||||||
|  |   | ||||||
|  |      if (thefile->buffered) { | ||||||
|  |          char *pos = (char *)buf; | ||||||
|  | @@ -160,13 +160,14 @@
 | ||||||
|  |               * logically reading from | ||||||
|  |               */ | ||||||
|  |              apr_int64_t offset = thefile->filePtr - thefile->dataRead + thefile->bufpos; | ||||||
|  | -            if (offset != thefile->filePtr)
 | ||||||
|  | -                lseek(thefile->filedes, offset, SEEK_SET);
 | ||||||
|  | +            if (offset != thefile->filePtr) {
 | ||||||
|  | +                thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET);
 | ||||||
|  | +                if (thefile->filePtr == -1) rv = errno;
 | ||||||
|  | +            }
 | ||||||
|  |              thefile->bufpos = thefile->dataRead = 0; | ||||||
|  |              thefile->direction = 1; | ||||||
|  |          } | ||||||
|  |   | ||||||
|  | -        rv = 0;
 | ||||||
|  |          while (rv == 0 && size > 0) { | ||||||
|  |              if (thefile->bufpos == thefile->bufsize)   /* write buffer is full*/ | ||||||
|  |                  rv = apr_file_flush_locked(thefile); | ||||||
|  | @@ -244,12 +245,15 @@
 | ||||||
|  |               */ | ||||||
|  |              apr_int64_t offset = thefile->filePtr - thefile->dataRead + | ||||||
|  |                                   thefile->bufpos; | ||||||
|  | -            if (offset != thefile->filePtr)
 | ||||||
|  | -                lseek(thefile->filedes, offset, SEEK_SET);
 | ||||||
|  | +            if (offset != thefile->filePtr) {
 | ||||||
|  | +                thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET);
 | ||||||
|  | +                if (thefile->filePtr == -1) rv = errno;
 | ||||||
|  | +            }
 | ||||||
|  |              thefile->bufpos = thefile->dataRead = 0; | ||||||
|  |          } | ||||||
|  |   | ||||||
|  |          file_unlock(thefile); | ||||||
|  | +        if (rv) return rv;
 | ||||||
|  |      } | ||||||
|  |   | ||||||
|  |      if ((bytes = writev(thefile->filedes, vec, nvec)) < 0) { | ||||||
|  | --- apr-1.7.0/locks/unix/proc_mutex.c
 | ||||||
|  | +++ apr-1.7.0/locks/unix/proc_mutex.c
 | ||||||
|  | @@ -1518,11 +1518,10 @@
 | ||||||
|  |   | ||||||
|  |  APR_DECLARE(const char *) apr_proc_mutex_defname(void) | ||||||
|  |  { | ||||||
|  | -    apr_status_t rv;
 | ||||||
|  |      apr_proc_mutex_t mutex; | ||||||
|  |   | ||||||
|  | -    if ((rv = proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT,
 | ||||||
|  | -                                       NULL)) != APR_SUCCESS) {
 | ||||||
|  | +    if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT,
 | ||||||
|  | +                                 NULL) != APR_SUCCESS) {
 | ||||||
|  |          return "unknown"; | ||||||
|  |      } | ||||||
|  |   | ||||||
|  | --- apr-1.7.0/memory/unix/apr_pools.c
 | ||||||
|  | +++ apr-1.7.0/memory/unix/apr_pools.c
 | ||||||
|  | @@ -1338,7 +1338,7 @@
 | ||||||
|  |      apr_size_t free_index; | ||||||
|  |   | ||||||
|  |      pool_concurrency_set_used(pool); | ||||||
|  | -    ps.node = active = pool->active;
 | ||||||
|  | +    ps.node = pool->active;
 | ||||||
|  |      ps.pool = pool; | ||||||
|  |      ps.vbuff.curpos  = ps.node->first_avail; | ||||||
|  |   | ||||||
|  | --- apr-1.7.0/test/teststr.c
 | ||||||
|  | +++ apr-1.7.0/test/teststr.c
 | ||||||
|  | @@ -394,6 +394,19 @@
 | ||||||
|  |      ABTS_STR_EQUAL(tc, apr_cstr_skip_prefix("",      "12"),    NULL); | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | +static void pstrcat(abts_case *tc, void *data)
 | ||||||
|  | +{
 | ||||||
|  | +    ABTS_STR_EQUAL(tc, apr_pstrcat(p, "a", "bc", "def", NULL),
 | ||||||
|  | +                   "abcdef");
 | ||||||
|  | +    ABTS_STR_EQUAL(tc, apr_pstrcat(p, NULL), "");
 | ||||||
|  | +    ABTS_STR_EQUAL(tc, apr_pstrcat(p,
 | ||||||
|  | +                                   "a", "b", "c", "d", "e",
 | ||||||
|  | +                                   "f", "g", "h", "i", "j",
 | ||||||
|  | +                                   "1", "2", "3", "4", "5",
 | ||||||
|  | +                                   NULL),
 | ||||||
|  | +                   "abcdefghij12345");
 | ||||||
|  | +}
 | ||||||
|  | +
 | ||||||
|  |  abts_suite *teststr(abts_suite *suite) | ||||||
|  |  { | ||||||
|  |      suite = ADD_SUITE(suite) | ||||||
|  | @@ -412,6 +425,7 @@
 | ||||||
|  |      abts_run_test(suite, string_cpystrn, NULL); | ||||||
|  |      abts_run_test(suite, snprintf_overflow, NULL); | ||||||
|  |      abts_run_test(suite, skip_prefix, NULL); | ||||||
|  | +    abts_run_test(suite, pstrcat, NULL);
 | ||||||
|  |   | ||||||
|  |      return suite; | ||||||
|  |  } | ||||||
							
								
								
									
										7
									
								
								apr.spec
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								apr.spec
									
									
									
									
									
								
							| @ -6,7 +6,7 @@ | |||||||
| Summary: Apache Portable Runtime library | Summary: Apache Portable Runtime library | ||||||
| Name: apr | Name: apr | ||||||
| Version: 1.7.0 | Version: 1.7.0 | ||||||
| Release: 13%{?dist} | Release: 14%{?dist} | ||||||
| # ASL 2.0: everything | # ASL 2.0: everything | ||||||
| # ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c | # ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c | ||||||
| # BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c, | # BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c, | ||||||
| @ -21,6 +21,7 @@ Patch1: apr-1.2.2-libdir.patch | |||||||
| Patch2: apr-1.2.7-pkgconf.patch | Patch2: apr-1.2.7-pkgconf.patch | ||||||
| Patch3: apr-1.7.0-deepbind.patch | Patch3: apr-1.7.0-deepbind.patch | ||||||
| Patch4: apr-1.7.0-autoconf.patch | Patch4: apr-1.7.0-autoconf.patch | ||||||
|  | Patch5: apr-1.7.0-r1891269+.patch | ||||||
| BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 | BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3 | ||||||
| BuildRequires: make | BuildRequires: make | ||||||
| 
 | 
 | ||||||
| @ -47,6 +48,7 @@ C data structures and routines. | |||||||
| %patch2 -p1 -b .pkgconf | %patch2 -p1 -b .pkgconf | ||||||
| %patch3 -p1 -b .deepbind | %patch3 -p1 -b .deepbind | ||||||
| %patch4 -p1 -b .autoconf-2-71 | %patch4 -p1 -b .autoconf-2-71 | ||||||
|  | %patch5 -p1 -b .r1891269+ | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| # regenerate configure script etc. | # regenerate configure script etc. | ||||||
| @ -134,6 +136,9 @@ popd | |||||||
| %{_datadir}/aclocal/*.m4 | %{_datadir}/aclocal/*.m4 | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Aug 24 2021 Luboš Uhliarik <luhliari@redhat.com> - 1.7.0-14 | ||||||
|  | - Resolves: #1996685 - add various Coverity/Clang cleanups | ||||||
|  | 
 | ||||||
| * Wed Aug 04 2021 Luboš Uhliarik <luhliari@redhat.com> - 1.7.0-13 | * Wed Aug 04 2021 Luboš Uhliarik <luhliari@redhat.com> - 1.7.0-13 | ||||||
| - disable sctp protocol support by default | - disable sctp protocol support by default | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user