diff --git a/0001-scanner-Fix-valgrind-errors.patch b/0001-scanner-Fix-valgrind-errors.patch new file mode 100644 index 0000000..2dae3a7 --- /dev/null +++ b/0001-scanner-Fix-valgrind-errors.patch @@ -0,0 +1,59 @@ +From 1bade73b6b58cf2c3187b0fca72f4aec8301c4a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= +Date: Sat, 20 Oct 2012 11:38:57 -0400 +Subject: [PATCH] scanner: Fix valgrind errors + +--- + src/scanner.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/src/scanner.c b/src/scanner.c +index d0aafec..4a4e605 100644 +--- a/src/scanner.c ++++ b/src/scanner.c +@@ -393,6 +393,8 @@ start_element(void *data, const char *element_name, const char **atts) + case OBJECT: + if (interface_name) + arg->interface_name = strdup(interface_name); ++ else ++ arg->interface_name = NULL; + break; + default: + if (interface_name != NULL) +@@ -449,10 +451,7 @@ start_element(void *data, const char *element_name, const char **atts) + fail(ctx, "description without summary"); + + description = malloc(sizeof *description); +- if (summary) +- description->summary = strdup(summary); +- else +- description->summary = NULL; ++ description->summary = strdup(summary); + + if (ctx->message) + ctx->message->description = description; +@@ -476,10 +475,9 @@ end_element(void *data, const XML_Char *name) + strndup(ctx->character_data, + ctx->character_data_length); + } else if (strcmp(name, "description") == 0) { +- char *text = strndup(ctx->character_data, +- ctx->character_data_length); +- if (text) +- ctx->description->text = text; ++ ctx->description->text = ++ strndup(ctx->character_data, ++ ctx->character_data_length); + ctx->description = NULL; + } else if (strcmp(name, "request") == 0 || + strcmp(name, "event") == 0) { +@@ -1147,6 +1145,7 @@ int main(int argc, char *argv[]) + protocol.type_index = 0; + protocol.null_run_length = 0; + protocol.copyright = NULL; ++ memset(&ctx, 0, sizeof ctx); + ctx.protocol = &protocol; + + ctx.filename = ""; +-- +1.7.10.4 + diff --git a/wayland.spec b/wayland.spec index b1ab19b..bd2a467 100644 --- a/wayland.spec +++ b/wayland.spec @@ -26,6 +26,7 @@ URL: http://wayland.freedesktop.org/ #Git-Clone: git://anongit.freedesktop.org/wayland/wayland #Git-Web: http://cgit.freedesktop.org/wayland/wayland/ Source: %name-%version.tar.xz +Patch1: 0001-scanner-Fix-valgrind-errors.patch BuildRoot: %_tmppath/%name-%version-build BuildRequires: autoconf >= 2.64 BuildRequires: automake >= 1.11 @@ -95,9 +96,12 @@ to develop applications that require these. %prep %setup -q +%patch -P 1 -p1 %build -autoreconf -fi +if [ ! -e configure ]; then + autoreconf -fi; +fi; %configure --disable-static make %{?_smp_mflags}