apache BufferOverflow when HAS_APACHE_REGEX_LIB.

feature HAS_APACHE_REGEX_LIB makes a copy using the strncpy function. The size of characters copied is sizeof(newuri)-1, but the \0 character has been assigned to newuri[sizeof(newuri-1)] instead.
Bug fixed by commit dbafef17dd1
Type BufferOverflow
Config "HAS_APACHE_REGEX_LIB" (1st degree)
Fix-in code
Location modules/standard/
#include <stdlib.h>
#include <string.h>

#define MAX_STRING_LEN 20

void apply_rewrite_rule()
{
  char newuri[MAX_STRING_LEN];

#ifdef HAS_APACHE_REGEX_LIB
  strncpy(newuri, "pregsub()", sizeof(newuri)-1);
  newuri[sizeof(newuri-1)] = '\0';
#endif

  // more code making of 'newuri'
}

int main(void)
{
  apply_rewrite_rule();
  return 0;
}
. call modules/standard/mod_rewrite.c:1376:apply_rewrite_rule()
. // if HAS_APACHE_REGEX_LIB is enabled
. ERROR 1547: newuri[sizeof(newuri-1)] = '\0';