diff options
Diffstat (limited to 'src/backend/nodes/read.c')
-rw-r--r-- | src/backend/nodes/read.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/backend/nodes/read.c b/src/backend/nodes/read.c index 813eda3e739..5d76f56e4e8 100644 --- a/src/backend/nodes/read.c +++ b/src/backend/nodes/read.c @@ -498,14 +498,9 @@ nodeRead(const char *token, int tok_len) result = (Node *) makeString(debackslash(token + 1, tok_len - 2)); break; case T_BitString: - { - char *val = palloc(tok_len + 1); - - memcpy(val, token, tok_len); - val[tok_len] = '\0'; - result = (Node *) makeBitString(val); - break; - } + /* need to remove backslashes, but there are no quotes */ + result = (Node *) makeBitString(debackslash(token, tok_len)); + break; default: elog(ERROR, "unrecognized node type: %d", (int) type); result = NULL; /* keep compiler happy */ |