libweston: strdup head make, model, serial_number
Duplicate these strings to decouple their lifetime from whatever the backends used. This should prevent hard to catch use after frees and such problems in the future. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> v5 Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Ian Ray <ian.ray@ge.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Acked-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
parent
d9dcc6dc8f
commit
06f99efc9c
@ -4511,6 +4511,10 @@ static void
|
||||
weston_head_release(struct weston_head *head)
|
||||
{
|
||||
weston_head_detach(head);
|
||||
|
||||
free(head->make);
|
||||
free(head->model);
|
||||
free(head->serial_number);
|
||||
}
|
||||
|
||||
/** Store monitor make, model and serial number
|
||||
@ -4532,9 +4536,13 @@ weston_head_set_monitor_strings(struct weston_head *head,
|
||||
const char *model,
|
||||
const char *serialno)
|
||||
{
|
||||
head->make = (char *)make;
|
||||
head->model = (char *)model;
|
||||
head->serial_number = (char *)serialno;
|
||||
free(head->make);
|
||||
free(head->model);
|
||||
free(head->serial_number);
|
||||
|
||||
head->make = make ? strdup(make) : NULL;
|
||||
head->model = model ? strdup(model) : NULL;
|
||||
head->serial_number = serialno ? strdup(serialno) : NULL;
|
||||
}
|
||||
|
||||
/** Store physical image size
|
||||
|
Loading…
Reference in New Issue
Block a user