Sebastian Lackner : server: Clear last error when creating object without name.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 2 09:47:14 CST 2015
Module: wine
Branch: master
Commit: 52f9acedd2fb4dab817f2204c74e7f9aa6b26943
URL: http://source.winehq.org/git/wine.git/?a=commit;h=52f9acedd2fb4dab817f2204c74e7f9aa6b26943
Author: Sebastian Lackner <sebastian at fds-team.de>
Date: Mon Nov 2 06:02:16 2015 +0100
server: Clear last error when creating object without name.
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
server/directory.c | 6 +++++-
server/named_pipe.c | 6 +++++-
server/object.c | 6 +++++-
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/server/directory.c b/server/directory.c
index 4ebc974..e0cf75e 100644
--- a/server/directory.c
+++ b/server/directory.c
@@ -287,7 +287,11 @@ void *create_named_object_dir( struct directory *root, const struct unicode_str
struct object *obj, *new_obj = NULL;
struct unicode_str new_name;
- if (!name || !name->len) return alloc_object( ops );
+ if (!name || !name->len)
+ {
+ if ((new_obj = alloc_object( ops ))) clear_error();
+ return new_obj;
+ }
if (!(obj = find_object_dir( root, name, attributes, &new_name ))) return NULL;
if (!new_name.len)
diff --git a/server/named_pipe.c b/server/named_pipe.c
index f5e536c..fbabc5a 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -671,7 +671,11 @@ static struct named_pipe *create_named_pipe( struct directory *root, const struc
struct named_pipe *pipe = NULL;
struct unicode_str new_name;
- if (!name || !name->len) return alloc_object( &named_pipe_ops );
+ if (!name || !name->len)
+ {
+ if ((pipe = alloc_object( &named_pipe_ops ))) clear_error();
+ return pipe;
+ }
if (!(obj = find_object_dir( root, name, attr, &new_name )))
{
diff --git a/server/object.c b/server/object.c
index 965c11c..31883bd 100644
--- a/server/object.c
+++ b/server/object.c
@@ -242,7 +242,11 @@ void *create_named_object( struct namespace *namespace, const struct object_ops
{
struct object *obj;
- if (!name || !name->len) return alloc_object( ops );
+ if (!name || !name->len)
+ {
+ if ((obj = alloc_object( ops ))) clear_error();
+ return obj;
+ }
if ((obj = find_object( namespace, name, attributes )))
{
More information about the wine-cvs
mailing list