X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=device.c;h=feeb2902a371ac088058a7a7f49d1dd6bf95757f;hp=56fc3f787713ce5eb0d9e3bf6833b460d1d264cd;hb=1a770b186b4bc9e714dbdd30d0c41ea471fa8245;hpb=134775b1f41fa19a816768268b9d0f8dad86bd90 diff --git a/device.c b/device.c index 56fc3f7..feeb290 100644 --- a/device.c +++ b/device.c @@ -185,6 +185,10 @@ static int device_broadcast_cb(void *ctx, struct safe_list *list) struct device_user *dep = container_of(list, struct device_user, list); int *ev = ctx; + /* device might have been removed by an earlier callback */ + if (!dep->dev) + return 0; + if (dep->cb) dep->cb(dep, *ev); return 0;