aboutsummaryrefslogtreecommitdiffstats
path: root/community/msitools/fix-segfault.patch
diff options
context:
space:
mode:
authorAndré Klitzing <aklitzing@gmail.com>2018-05-18 13:39:55 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2018-07-16 13:21:13 +0000
commit4d5853ef53a5fc0a674145edd5b1b23360279adf (patch)
treea1c9f39dbc25e0bf4f3b5af14d6084c7fda28f15 /community/msitools/fix-segfault.patch
parentdca0d6e33e0aa22eda936daea8eb43b3e4ece412 (diff)
downloadaports-4d5853ef53a5fc0a674145edd5b1b23360279adf.tar.bz2
aports-4d5853ef53a5fc0a674145edd5b1b23360279adf.tar.xz
community/msitools: moved from testing
Diffstat (limited to 'community/msitools/fix-segfault.patch')
-rw-r--r--community/msitools/fix-segfault.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/community/msitools/fix-segfault.patch b/community/msitools/fix-segfault.patch
new file mode 100644
index 0000000000..e2109ef2dd
--- /dev/null
+++ b/community/msitools/fix-segfault.patch
@@ -0,0 +1,44 @@
+diff --git a/tools/msiinfo.c b/tools/msiinfo.c
+index ac299fd..e695f14 100644
+--- a/tools/msiinfo.c
++++ b/tools/msiinfo.c
+@@ -420,7 +420,7 @@ static gboolean export_create_table(const char *table,
+ guint num_columns = libmsi_record_get_field_count(names);
+ guint num_keys = libmsi_record_get_field_count(keys);
+ guint i, len;
+- char size[20], extra[30];
++ char size[20], extra[30], typestr[20];
+ gchar *name, *type;
+
+ if (!strcmp(table, "_Tables") ||
+@@ -455,25 +455,25 @@ static gboolean export_create_table(const char *table,
+ /* fall through */
+ case 's': case 'S':
+ strcpy(size, type+1);
+- sprintf(type, "CHAR(%s)", size);
++ sprintf(typestr, "CHAR(%s)", size);
+ break;
+ case 'i': case 'I':
+ len = atol(type + 1);
+ if (len <= 2)
+- strcpy(type, "INT");
++ strcpy(typestr, "INT");
+ else if (len == 4)
+- strcpy(type, "LONG");
++ strcpy(typestr, "LONG");
+ else
+ abort();
+ break;
+ case 'v': case 'V':
+- strcpy(type, "OBJECT");
++ strcpy(typestr, "OBJECT");
+ break;
+ default:
+ abort();
+ }
+
+- printf("`%s` %s%s", name, type, extra);
++ printf("`%s` %s%s", name, typestr, extra);
+ g_free(name);
+ g_free(type);
+ }