Commit 8fd2e269 authored by Tom Lane's avatar Tom Lane

MakeRetrieveViewRuleName was scribbling on memory that didn't belong

to it.  Bad dog.
parent a8aa2f95
......@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: view.c,v 1.51 2000/12/21 17:36:15 tgl Exp $
* $Id: view.c,v 1.52 2001/01/03 18:43:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -110,19 +110,20 @@ char *
MakeRetrieveViewRuleName(char *viewName)
{
char *buf;
#ifdef MULTIBYTE
int len;
#endif
buf = palloc(strlen(viewName) + 5);
snprintf(buf, strlen(viewName) + 5, "_RET%s", viewName);
int buflen,
maxlen;
buflen = strlen(viewName) + 5;
buf = palloc(buflen);
snprintf(buf, buflen, "_RET%s", viewName);
/* clip to less than NAMEDATALEN bytes, if necessary */
#ifdef MULTIBYTE
len = pg_mbcliplen(buf,strlen(buf),NAMEDATALEN-1);
buf[len] = '\0';
maxlen = pg_mbcliplen(buf, strlen(buf), NAMEDATALEN-1);
#else
buf[NAMEDATALEN-1] = '\0';
maxlen = NAMEDATALEN-1;
#endif
if (maxlen < buflen)
buf[maxlen] = '\0';
return buf;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment