~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to subversion/libsvn_subr/utf_validate.c

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2015-08-07 21:32:47 UTC
  • mfrom: (0.2.15) (4.1.7 experimental)
  • Revision ID: package-import@ubuntu.com-20150807213247-ozyewtmgsr6tkewl
Tags: 1.9.0-1
* Upload to unstable
* New upstream release.
  + Security fixes
    - CVE-2015-3184: Mixed anonymous/authenticated path-based authz with
      httpd 2.4
    - CVE-2015-3187: svn_repos_trace_node_locations() reveals paths hidden
      by authz
* Add >= 2.7 requirement for python-all-dev Build-Depends, needed to run
  tests.
* Remove Build-Conflicts against ruby-test-unit.  (Closes: #791844)
* Remove patches/apache_module_dependency in favor of expressing the
  dependencies in authz_svn.load/dav_svn.load.
* Build-Depend on apache2-dev (>= 2.4.16) to ensure ap_some_authn_required()
  is available when building mod_authz_svn and Depend on apache2-bin (>=
  2.4.16) for runtime support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
271
271
      max_len -= len;
272
272
 
273
273
      for (; len > 0; ++data, --len)
274
 
        if (*data < 0 || *data >= 0x80)
 
274
        if ((unsigned char)*data >= 0x80)
275
275
          return data;
276
276
    }
277
277
 
285
285
 
286
286
  /* The remaining odd bytes will be examined the naive way: */
287
287
  for (; max_len > 0; ++data, --max_len)
288
 
    if (*data < 0 || *data >= 0x80)
 
288
    if ((unsigned char)*data >= 0x80)
289
289
      break;
290
290
 
291
291
  return data;
304
304
   * segfault.
305
305
   */
306
306
  for (; (apr_uintptr_t)data & (sizeof(apr_uintptr_t)-1); ++data)
307
 
    if (*data <= 0 || *data >= 0x80)
 
307
    if (*data == 0 || (unsigned char)*data >= 0x80)
308
308
      return data;
309
309
 
310
310
  /* Scan the input one machine word at a time. */
311
311
#ifndef SVN_UTF_NO_UNINITIALISED_ACCESS
312
 
  /* This may read allocated but initialised bytes beyond the
 
312
  /* This may read allocated but uninitialised bytes beyond the
313
313
     terminating null.  Any such bytes are always readable and this
314
314
     code operates correctly whatever the uninitialised values happen
315
315
     to be.  However memory checking tools such as valgrind and GCC
331
331
 
332
332
  /* The remaining odd bytes will be examined the naive way: */
333
333
  for (; ; ++data)
334
 
    if (*data <= 0 || *data >= 0x80)
 
334
    if (*data == 0 || (unsigned char)*data >= 0x80)
335
335
      break;
336
336
 
337
337
  return data;