diff options
| author | Kristian Høgsberg <krh@bitplanet.net> | 2012-10-20 11:38:57 -0400 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-10-20 11:38:57 -0400 |
| commit | 1bade73b6b58cf2c3187b0fca72f4aec8301c4a3 (patch) | |
| tree | 3f18167b104cc342f8632beee0c856a8bd9dede8 /src/scanner.c | |
| parent | Rename __wl_container_of macro to just wl_container_of (diff) | |
| download | wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.tar wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.tar.gz wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.tar.bz2 wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.tar.lz wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.tar.xz wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.tar.zst wayland-1bade73b6b58cf2c3187b0fca72f4aec8301c4a3.zip | |
scanner: Fix valgrind errors
Diffstat (limited to 'src/scanner.c')
| -rw-r--r-- | src/scanner.c | 15 |
1 files 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 = "<stdin>"; |
