summaryrefslogtreecommitdiff
path: root/src/bin/psql/large_obj.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2013-10-13 00:09:18 -0400
committerPeter Eisentraut <peter_e@gmx.net>2013-10-13 00:09:18 -0400
commit5b6d08cd2992922b667564a49f19580f11676050 (patch)
tree4104a4255eeb88e78da71477b5f7b129f9a1b599 /src/bin/psql/large_obj.c
parenta53dee43fe585e673658b01e7354892dcede957e (diff)
Add use of asprintf()
Add asprintf(), pg_asprintf(), and psprintf() to simplify string allocation and composition. Replacement implementations taken from NetBSD. Reviewed-by: Álvaro Herrera <alvherre@2ndquadrant.com> Reviewed-by: Asif Naeem <anaeem.it@gmail.com>
Diffstat (limited to 'src/bin/psql/large_obj.c')
-rw-r--r--src/bin/psql/large_obj.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bin/psql/large_obj.c b/src/bin/psql/large_obj.c
index faaecce6144..065e0c1cb24 100644
--- a/src/bin/psql/large_obj.c
+++ b/src/bin/psql/large_obj.c
@@ -200,12 +200,12 @@ do_lo_import(const char *filename_arg, const char *comment_arg)
char *cmdbuf;
char *bufptr;
size_t slen = strlen(comment_arg);
+ int rv;
- cmdbuf = malloc(slen * 2 + 256);
- if (!cmdbuf)
+ rv = asprintf(&cmdbuf, "COMMENT ON LARGE OBJECT %u IS '", loid);
+ if (rv < 0)
return fail_lo_xact("\\lo_import", own_transaction);
- sprintf(cmdbuf, "COMMENT ON LARGE OBJECT %u IS '", loid);
- bufptr = cmdbuf + strlen(cmdbuf);
+ bufptr = cmdbuf + rv;
bufptr += PQescapeStringConn(pset.db, bufptr, comment_arg, slen, NULL);
strcpy(bufptr, "'");