diff options
| author | Rafał Miłecki | 2019-12-13 10:05:11 +0000 |
|---|---|---|
| committer | Rafał Miłecki | 2019-12-13 13:48:31 +0000 |
| commit | 5ea47fe35e5db7b231393d21515daeaef9da8498 (patch) | |
| tree | 6155e6d32121bbe6b398ecfceb38e929faff6e85 | |
| parent | f438552ec8e777c271f5c2ec6713d9567eafa5b6 (diff) | |
| download | fstools-5ea47fe35e5db7b231393d21515daeaef9da8498.tar.gz | |
blockd: fix vlist memory corruption
vlist_add() expects key to point a persistent memory as it doesn't make
its copy. Passing blob_attr of current message was resulting in
undefined/random behavior including list corruption and possible
crashes.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
| -rw-r--r-- | blockd.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -255,7 +255,7 @@ block_hotplug(struct ubus_context *ctx, struct ubus_object *obj, strcpy(_name, devname); device->target = __target; strcpy(__target, target); - vlist_add(&devices, &device->node, blobmsg_get_string(data[MOUNT_DEVICE])); + vlist_add(&devices, &device->node, device->name); } vlist_flush(&devices); |