diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-07-09 06:39:19 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-07-09 06:39:19 +0000 |
commit | 950b6ab02272057811dcb4cdf2edcdc2f01b81b7 (patch) | |
tree | 077026969d8751823f4067eb287047015d4b5644 /src/backend/utils/adt/like.c | |
parent | 25bb71835f1d3c3ab85cfa33dbdf95419d003c2a (diff) |
Fixes: Using LIKE or ~ operator on text type files which are null valued
causes segmentation fault.
Thanks to: Salvador Ortiz Garcia, Robert Patrick, Paul 'Shag' Walmsley,
and James Cooper for finding and fixing the problem.
Diffstat (limited to 'src/backend/utils/adt/like.c')
-rw-r--r-- | src/backend/utils/adt/like.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/utils/adt/like.c b/src/backend/utils/adt/like.c index e33e66ee62d..4560b6d80d3 100644 --- a/src/backend/utils/adt/like.c +++ b/src/backend/utils/adt/like.c @@ -120,6 +120,7 @@ char16nlike(char *s, struct varlena *p) bool namelike(NameData *n, struct varlena *p) { + if (!n) return FALSE; return (fixedlen_like(n->data, p, NAMEDATALEN)); } @@ -132,6 +133,7 @@ namenlike(NameData *s, struct varlena *p) bool textlike(struct varlena *s, struct varlena *p) { + if (!s) return FALSE; return (fixedlen_like(VARDATA(s), p, VARSIZE(s) - VARHDRSZ)); } @@ -141,7 +143,7 @@ bool textnlike(struct varlena *s, struct varlena *p) } -/* $Revision: 1.1.1.1 $ +/* $Revision: 1.2 $ ** "like.c" A first attempt at a LIKE operator for Postgres95. ** ** Originally written by Rich $alz, mirror!rs, Wed Nov 26 19:03:17 EST 1986. |