aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/encode.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2014-07-09 11:04:45 -0400
committerRobert Haas <rhaas@postgresql.org>2014-07-09 11:04:45 -0400
commitf73474382cb304b4f043e5de89c28b0365c04156 (patch)
treefc0cc711651720834fdb65210a987f4607defdb2 /src/backend/utils/adt/encode.c
parent8522f21400570fdf6af38c32a2522a5465dccfd5 (diff)
downloadpostgresql-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.c7
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;
}