diff --git a/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater/0001-hawkbit-client-do-not-pass-NULL-format-to-g_strdup_v.patch b/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater/0001-hawkbit-client-do-not-pass-NULL-format-to-g_strdup_v.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ce54fd1308536ddb38d3db40eb4967dc61716795
--- /dev/null
+++ b/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater/0001-hawkbit-client-do-not-pass-NULL-format-to-g_strdup_v.patch
@@ -0,0 +1,44 @@
+From 439feeeb0080b4fdc93cc41adfbebc2f85aa8317 Mon Sep 17 00:00:00 2001
+From: Bastian Krause <bst@pengutronix.de>
+Date: Tue, 16 Nov 2021 21:08:01 +0100
+Subject: [PATCH] hawkbit-client: do not pass NULL format to g_strdup_vprintf()
+ in build_api_url()
+
+build_api_url() can be called with NULL to get the base deployment URL.
+Passing NULL as a format argument to g_strdup_vprintf() returns NULL if
+GLIB_USING_SYSTEM_PRINTF is defined, otherwise it leads to a segmentation
+fault. The format argument is explicitly documented as "not nullable",
+so we rely on undefined behavior here.
+
+Skip over va_start(), g_strdup_vprintf(), va_end() for path=NULL to fix
+that.
+
+Upstream-Status: Backport
+
+Signed-off-by: Bastian Krause <bst@pengutronix.de>
+---
+ src/hawkbit-client.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/hawkbit-client.c b/src/hawkbit-client.c
+index f7a8886..67fd7bc 100644
+--- a/src/hawkbit-client.c
++++ b/src/hawkbit-client.c
+@@ -702,9 +702,11 @@ static gchar* build_api_url(const gchar *path, ...)
+         g_autofree gchar *buffer = NULL;
+         va_list args;
+ 
+-        va_start(args, path);
+-        buffer = g_strdup_vprintf(path, args);
+-        va_end(args);
++        if (path) {
++                va_start(args, path);
++                buffer = g_strdup_vprintf(path, args);
++                va_end(args);
++        }
+ 
+         return g_strdup_printf(
+                 "%s://%s/%s/controller/v1/%s%s%s",
+-- 
+2.25.1
+
diff --git a/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater_%.bbappend b/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater_%.bbappend
index c5488c8a9b959d8ea17ac37045f031965d3db302..7d4a313d457b5c0ce45b17bdd157dcff8972b288 100644
--- a/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater_%.bbappend
+++ b/meta-oniro-core/recipes-support/rauc-hawkbit-updater/rauc-hawkbit-updater_%.bbappend
@@ -1,4 +1,5 @@
 FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-SRC_URI += "file://0001-Do-not-include-glibc-specific-bits-types-struct_tm.h.patch"
-
+SRC_URI += " \
+    file://0001-Do-not-include-glibc-specific-bits-types-struct_tm.h.patch \
+    file://0001-hawkbit-client-do-not-pass-NULL-format-to-g_strdup_v.patch"