On 2/10/25 06:56, Mike Pattrick wrote:
> Scanhub reported the following splat:
> 
> 3. ovsdb/ovsdb-server.c:505:5:
>     freed_arg: "shash_replace_nocopy" frees "filename".
> 6. ovsdb/ovsdb-server.c:507:9:
>     pass_freed_arg: Passing freed pointer "filename" as an argument to
>     "vlog".
> 
> In all code paths with a duplicate configuration, OVSDB would print a
> warning log message using a freed pointer. Now, the original option is
> used.
> 
> Reported-at: https://issues.redhat.com/browse/FDP-1118
> Signed-off-by: Mike Pattrick <[email protected]>
> ---
>  ovsdb/ovsdb-server.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/ovsdb/ovsdb-server.c b/ovsdb/ovsdb-server.c
> index 7fde85872..a247ae8f0 100644
> --- a/ovsdb/ovsdb-server.c
> +++ b/ovsdb/ovsdb-server.c
> @@ -504,7 +504,7 @@ add_database_config(struct shash *db_conf, const char 
> *opt,
>  
>      conf = shash_replace_nocopy(db_conf, filename, conf);
>      if (conf) {
> -        VLOG_WARN("Duplicate database configuration: %s", filename);
> +        VLOG_WARN("Duplicate database configuration: %s", opt);
>          db_config_destroy(conf);
>      }
>  }

Thanks, Mike!  This can make the warning a little confusing when relays are
involved, but modifying the code to actually print the database name in that
case indeed doesn't worth the hustle.

I added the appropriate 'Fixes' tag and applied the change.  Also backported
down to 3.3.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to