mirror of https://github.com/xemu-project/xemu.git
chardev patch queue
-----BEGIN PGP SIGNATURE----- iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmdPCg4cHG1hcmNhbmRy ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5dmTD/4pNcJ7fJzzxtfBDBvy +NWlq7nFDOX471g1B+4V91dOT0TbQLRK0hTmPUGc7FF8sCCDgfZOyHN6GA7TdwXG 8+oHqFjxaZcrtrSN67wv8n5tyFNm/1hr1IgqhieKjeVt6eT8PJ8rgFESm4zvDOej i2jjhDNN2piu9Lr9smhX3I/kJX70cPXRRX2qBlLEPcMKW280RoTRSEIL1jFdilan QyPugQm9R0cSayNg27At2HakFZ5HKgu8EyAvvMFvv1gdoGVdq9D+Gk5xruvBnF/P 4g7EnCe/YKWfg887LSjIA2Qcp1xEpUPeumUbCm152ikZ7KnwE9Tn/hPt693GjvMn WhyOOuxZmvL4AtJbYheskH7N0b/NB2vUT4N4ONkMeubjzfDu8UHw/rL+WpjAZfXW YwzcpVHKXXKazTzzKRLUgsoqfllWLTAQDwU5s46UyVmaBBf5qUSbSnr4ZX2nP0X6 dP1jM2KcDyaKKowmpYGyQzTVqPwTXfyEdmSNnjirbS2Qyh77snd7rqrxXPz2jKm9 jfb0yN7BWSEuFguyXL0izeCQsBb/rsrZB/tOYWkUeOzAgpm4GlAQuJ+3uAssgmnu aq/bYxGEjC1a+fzg8KUj6S+X+Jfp6+4/Y60M4HAMtMGuy6X1UaCBtH+cntS3JjUj 7ZBpTXirstW7KxKZ2mJMa2lkHQ== =34fm -----END PGP SIGNATURE----- Merge tag 'chr-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging chardev patch queue # -----BEGIN PGP SIGNATURE----- # # iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmdPCg4cHG1hcmNhbmRy # ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5dmTD/4pNcJ7fJzzxtfBDBvy # +NWlq7nFDOX471g1B+4V91dOT0TbQLRK0hTmPUGc7FF8sCCDgfZOyHN6GA7TdwXG # 8+oHqFjxaZcrtrSN67wv8n5tyFNm/1hr1IgqhieKjeVt6eT8PJ8rgFESm4zvDOej # i2jjhDNN2piu9Lr9smhX3I/kJX70cPXRRX2qBlLEPcMKW280RoTRSEIL1jFdilan # QyPugQm9R0cSayNg27At2HakFZ5HKgu8EyAvvMFvv1gdoGVdq9D+Gk5xruvBnF/P # 4g7EnCe/YKWfg887LSjIA2Qcp1xEpUPeumUbCm152ikZ7KnwE9Tn/hPt693GjvMn # WhyOOuxZmvL4AtJbYheskH7N0b/NB2vUT4N4ONkMeubjzfDu8UHw/rL+WpjAZfXW # YwzcpVHKXXKazTzzKRLUgsoqfllWLTAQDwU5s46UyVmaBBf5qUSbSnr4ZX2nP0X6 # dP1jM2KcDyaKKowmpYGyQzTVqPwTXfyEdmSNnjirbS2Qyh77snd7rqrxXPz2jKm9 # jfb0yN7BWSEuFguyXL0izeCQsBb/rsrZB/tOYWkUeOzAgpm4GlAQuJ+3uAssgmnu # aq/bYxGEjC1a+fzg8KUj6S+X+Jfp6+4/Y60M4HAMtMGuy6X1UaCBtH+cntS3JjUj # 7ZBpTXirstW7KxKZ2mJMa2lkHQ== # =34fm # -----END PGP SIGNATURE----- # gpg: Signature made Tue 03 Dec 2024 13:39:26 GMT # gpg: using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5 # gpg: issuer "marcandre.lureau@redhat.com" # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full] # gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full] # Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5 * tag 'chr-pull-request' of https://gitlab.com/marcandre.lureau/qemu: chardev: Remove __-prefixed names chardev: Fix record/replay error path NULL deref in device creation Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
f07e0ad599
|
@ -633,8 +633,8 @@ static void qemu_chardev_set_replay(Chardev *chr, Error **errp)
|
|||
}
|
||||
}
|
||||
|
||||
static Chardev *__qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context,
|
||||
bool replay, Error **errp)
|
||||
static Chardev *do_qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context,
|
||||
bool replay, Error **errp)
|
||||
{
|
||||
const ChardevClass *cc;
|
||||
Chardev *base = NULL, *chr = NULL;
|
||||
|
@ -712,12 +712,12 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context,
|
|||
Error **errp)
|
||||
{
|
||||
/* XXX: should this really not record/replay? */
|
||||
return __qemu_chr_new_from_opts(opts, context, false, errp);
|
||||
return do_qemu_chr_new_from_opts(opts, context, false, errp);
|
||||
}
|
||||
|
||||
static Chardev *__qemu_chr_new(const char *label, const char *filename,
|
||||
bool permit_mux_mon, GMainContext *context,
|
||||
bool replay)
|
||||
static Chardev *qemu_chr_new_from_name(const char *label, const char *filename,
|
||||
bool permit_mux_mon,
|
||||
GMainContext *context, bool replay)
|
||||
{
|
||||
const char *p;
|
||||
Chardev *chr;
|
||||
|
@ -726,7 +726,7 @@ static Chardev *__qemu_chr_new(const char *label, const char *filename,
|
|||
|
||||
if (strstart(filename, "chardev:", &p)) {
|
||||
chr = qemu_chr_find(p);
|
||||
if (replay) {
|
||||
if (replay && chr) {
|
||||
qemu_chardev_set_replay(chr, &err);
|
||||
if (err) {
|
||||
error_report_err(err);
|
||||
|
@ -740,7 +740,7 @@ static Chardev *__qemu_chr_new(const char *label, const char *filename,
|
|||
if (!opts)
|
||||
return NULL;
|
||||
|
||||
chr = __qemu_chr_new_from_opts(opts, context, replay, &err);
|
||||
chr = do_qemu_chr_new_from_opts(opts, context, replay, &err);
|
||||
if (!chr) {
|
||||
error_report_err(err);
|
||||
goto out;
|
||||
|
@ -765,7 +765,8 @@ out:
|
|||
Chardev *qemu_chr_new_noreplay(const char *label, const char *filename,
|
||||
bool permit_mux_mon, GMainContext *context)
|
||||
{
|
||||
return __qemu_chr_new(label, filename, permit_mux_mon, context, false);
|
||||
return qemu_chr_new_from_name(label, filename, permit_mux_mon, context,
|
||||
false);
|
||||
}
|
||||
|
||||
static Chardev *qemu_chr_new_permit_mux_mon(const char *label,
|
||||
|
@ -773,7 +774,8 @@ static Chardev *qemu_chr_new_permit_mux_mon(const char *label,
|
|||
bool permit_mux_mon,
|
||||
GMainContext *context)
|
||||
{
|
||||
return __qemu_chr_new(label, filename, permit_mux_mon, context, true);
|
||||
return qemu_chr_new_from_name(label, filename, permit_mux_mon, context,
|
||||
true);
|
||||
}
|
||||
|
||||
Chardev *qemu_chr_new(const char *label, const char *filename,
|
||||
|
|
Loading…
Reference in New Issue