diff options
author | Robert Haas <rhaas@postgresql.org> | 2014-07-09 11:04:45 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2014-07-09 11:04:45 -0400 |
commit | f73474382cb304b4f043e5de89c28b0365c04156 (patch) | |
tree | fc0cc711651720834fdb65210a987f4607defdb2 /src/backend/utils/adt/encode.c | |
parent | 8522f21400570fdf6af38c32a2522a5465dccfd5 (diff) | |
download | postgresql-f73474382cb304b4f043e5de89c28b0365c04156.tar.gz postgresql-f73474382cb304b4f043e5de89c28b0365c04156.zip |
Improve error messages for bytea decoding failures.
Craig Ringer
Diffstat (limited to 'src/backend/utils/adt/encode.c')
-rw-r--r-- | src/backend/utils/adt/encode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/utils/adt/encode.c b/src/backend/utils/adt/encode.c index 46993baa7b5..fab4d33d07f 100644 --- a/src/backend/utils/adt/encode.c +++ b/src/backend/utils/adt/encode.c @@ -292,7 +292,7 @@ b64_decode(const char *src, unsigned len, char *dst) else ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("unexpected \"=\""))); + errmsg("unexpected \"=\" while decoding base64 sequence"))); } b = 0; } @@ -304,7 +304,7 @@ b64_decode(const char *src, unsigned len, char *dst) if (b < 0) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("invalid symbol"))); + errmsg("invalid symbol '%c' while decoding base64 sequence", (int) c))); } /* add it to buffer */ buf = (buf << 6) + b; @@ -324,7 +324,8 @@ b64_decode(const char *src, unsigned len, char *dst) if (pos != 0) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("invalid end sequence"))); + errmsg("invalid base64 end sequence"), + errhint("input data is missing padding, truncated, or otherwise corrupted"))); return p - dst; } |