mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
ofp-parse: Do not exit() upon a parse error.
Until now, failure to parse a flow in the ofp-parse module has caused the program to abort immediately with a fatal error. This makes it hard to use these functions from any long-lived program. This commit fixes the problem. Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2011, 2012 Nicira, Inc.
|
||||
/* Copyright (c) 2011, 2012, 2013 Nicira, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -71,9 +71,14 @@ parse_bundle_actions(char *actions)
|
||||
struct ofpact_bundle *bundle;
|
||||
struct ofpbuf ofpacts;
|
||||
struct ofpact *action;
|
||||
char *error;
|
||||
|
||||
ofpbuf_init(&ofpacts, 0);
|
||||
bundle_parse_load(actions, &ofpacts);
|
||||
error = bundle_parse_load(actions, &ofpacts);
|
||||
if (error) {
|
||||
ovs_fatal(0, "%s", error);
|
||||
}
|
||||
|
||||
action = ofpacts.data;
|
||||
bundle = ofpact_get_BUNDLE(xmemdup(action, action->len));
|
||||
ofpbuf_uninit(&ofpacts);
|
||||
|
||||
Reference in New Issue
Block a user