Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitda10176

Browse files
committed
Back-patch StrNCpy fix.
1 parentd914334 commitda10176

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

‎src/backend/utils/adt/like.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* Portions Copyright (c) 1994, Regents of the University of California
1212
*
1313
* IDENTIFICATION
14-
*$Header: /cvsroot/pgsql/src/backend/utils/adt/like.c,v 1.34 2000/04/12 17:15:50 momjian Exp $
14+
*$Header: /cvsroot/pgsql/src/backend/utils/adt/like.c,v 1.34.2.1 2000/07/07 21:29:57 tgl Exp $
1515
*
1616
*-------------------------------------------------------------------------
1717
*/
@@ -50,7 +50,8 @@ fixedlen_like(char *s, struct varlena * p, int charlen)
5050
(void)pg_mb2wchar_with_len((unsignedchar*)s,sterm,charlen);
5151
#else
5252
sterm= (char*)palloc(charlen+1);
53-
StrNCpy(sterm,s,charlen+1);
53+
memcpy(sterm,s,charlen);
54+
sterm[charlen]='\0';
5455
#endif
5556

5657
/*

‎src/backend/utils/adt/regexp.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.30 2000/01/26 05:57:14 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.30.2.1 2000/07/07 21:29:57 tgl Exp $
1212
*
1313
*Alistair Crooks added the code for the regex caching
1414
*agc - cached the regular expressions used - there's a good chance
@@ -182,7 +182,8 @@ fixedlen_regexeq(char *s, struct varlena * p, int charlen, int cflags)
182182

183183
/* be sure sterm is null-terminated */
184184
sterm= (char*)palloc(charlen+1);
185-
StrNCpy(sterm,s,charlen+1);
185+
memcpy(sterm,s,charlen);
186+
sterm[charlen]='\0';
186187

187188
result=RE_compile_and_execute(p,sterm,cflags);
188189

‎src/backend/utils/adt/varchar.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.60 2000/04/12 17:15:52 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.60.2.1 2000/07/07 21:29:57 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -117,7 +117,8 @@ bpcharout(char *s)
117117
{
118118
len=VARSIZE(s)-VARHDRSZ;
119119
result= (char*)palloc(len+1);
120-
StrNCpy(result,VARDATA(s),len+1);/* these are blank-padded */
120+
memcpy(result,VARDATA(s),len);
121+
result[len]='\0';
121122
}
122123

123124
#ifdefCYR_RECODE
@@ -249,8 +250,8 @@ bpchar_name(char *s)
249250
returnNULL;
250251

251252
len=VARSIZE(s)-VARHDRSZ;
252-
if (len>NAMEDATALEN)
253-
len=NAMEDATALEN;
253+
if (len >=NAMEDATALEN)
254+
len=NAMEDATALEN-1;
254255

255256
while (len>0)
256257
{
@@ -265,7 +266,7 @@ bpchar_name(char *s)
265266
#endif
266267

267268
result= (NameData*)palloc(NAMEDATALEN);
268-
StrNCpy(NameStr(*result),VARDATA(s),NAMEDATALEN);
269+
memcpy(NameStr(*result),VARDATA(s),len);
269270

270271
/* now null pad to full length... */
271272
while (len<NAMEDATALEN)
@@ -297,7 +298,7 @@ name_bpchar(NameData *s)
297298
#endif
298299

299300
result= (char*)palloc(VARHDRSZ+len);
300-
strncpy(VARDATA(result),NameStr(*s),len);
301+
memcpy(VARDATA(result),NameStr(*s),len);
301302
VARSIZE(result)=len+VARHDRSZ;
302303

303304
returnresult;
@@ -354,7 +355,8 @@ varcharout(char *s)
354355
{
355356
len=VARSIZE(s)-VARHDRSZ;
356357
result= (char*)palloc(len+1);
357-
StrNCpy(result,VARDATA(s),len+1);
358+
memcpy(result,VARDATA(s),len);
359+
result[len]='\0';
358360
}
359361

360362
#ifdefCYR_RECODE

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp