graphviz/CVE-2023-46045.patch
starlet-dx 752ecd0e99 Fix CVE-2023-46045
(cherry picked from commit df0ac3d8c4b02d312d0858525a9bcdd91a901834)
2024-02-02 17:10:40 +08:00

51 lines
1.6 KiB
Diff

From 4becebe422e167358f4e57679d845932cc9f3a8a Mon Sep 17 00:00:00 2001
From: starlet-dx <15929766099@163.com>
Date: Fri, 2 Feb 2024 10:24:35 +0800
Subject: [PATCH 1/1] Merge branch 'smattr/gitlab-2441' into 'main'
gvc: detect plugin installation failure and display an error
Closes #2441
Origin:
https://gitlab.com/graphviz/graphviz/-/commit/361f274ca901c3c476697a6404662d95f4dd43cb
https://gitlab.com/graphviz/graphviz/-/commit/3f31704cafd7da3e86bb2861accf5e90c973e62a
https://gitlab.com/graphviz/graphviz/-/commit/a95f977f5d809915ec4b14836d2b5b7f5e74881e
---
lib/gvc/gvconfig.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/gvc/gvconfig.c b/lib/gvc/gvconfig.c
index 06c3326..9d3f6fc 100644
--- a/lib/gvc/gvconfig.c
+++ b/lib/gvc/gvconfig.c
@@ -165,9 +165,8 @@ static char *token(int *nest, char **tokens)
static int gvconfig_plugin_install_from_config(GVC_t * gvc, char *s)
{
- char *path, *name, *api;
+ char *path, *name;
const char *type;
- api_t gv_api;
int quality, rc;
int nest = 0;
gvplugin_package_t *package;
@@ -181,8 +180,12 @@ static int gvconfig_plugin_install_from_config(GVC_t * gvc, char *s)
name = "x";
package = gvplugin_package_record(gvc, path, name);
do {
- api = token(&nest, &s);
- gv_api = gvplugin_api(api);
+ const char *api = token(&nest, &s);
+ const api_t gv_api = gvplugin_api(api);
+ if (gv_api == (api_t)-1) {
+ agerr(AGERR, "config error: %s %s not found\n", path, api);
+ return 0;
+ }
do {
if (nest == 2) {
type = token(&nest, &s);
--
2.33.0