From 81729824124106a615b65f9a59280cd5be6c1c05 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Mon, 28 Mar 2011 21:37:03 -0400 Subject: [PATCH] upkg: Handle errors from u_object_export_name. As opposed to blindly proceeding with a nonsense filename... --- src/upkg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/upkg.c b/src/upkg.c index 0e5a84e..d54a574 100644 --- a/src/upkg.c +++ b/src/upkg.c @@ -314,6 +314,7 @@ static int export(GTypeModule *pkg, GObject *obj, unsigned idx) struct upkg *upkg = U_PKG(pkg)->pkg; char name[256]; FILE *of; + int rc; if (u_object_deserialize(obj, upkg, idx) != 0) { return -1; @@ -323,7 +324,13 @@ static int export(GTypeModule *pkg, GObject *obj, unsigned idx) return -1; } - u_object_export_name(obj, name, sizeof name); + rc = u_object_export_name(obj, name, sizeof name); + if (rc <= 0) { + /* XXX: We could use a default name here. */ + fprintf(stderr, "%s: failed to determine export filename.\n", + progname); + return -1; + } printf("exporting "); export_print_fullname(pkg, upkg_get_export(upkg, idx)); -- 2.43.0