X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=bridge_track.c;fp=bridge_track.c;h=be555decf79cc8055d22e22c6abf77457e715f38;hb=76eb7423e188f6852ba9ced4352e0d61f4dace4d;hp=da53d9bd8b75127ef466419f91335a01e2a13dff;hpb=28be5578db47550d47ef091ad240dfa933c0baf8;p=people%2Fms%2Frstp.git diff --git a/bridge_track.c b/bridge_track.c index da53d9b..be555de 100644 --- a/bridge_track.c +++ b/bridge_track.c @@ -386,6 +386,7 @@ void delete_if(struct ifdata *ifc) static int stp_enabled(struct ifdata *br) { char path[40 + IFNAMSIZ]; + int ret; sprintf(path, "/sys/class/net/%s/bridge/stp_state", br->name); FILE *f = fopen(path, "r"); if (!f) { @@ -393,7 +394,11 @@ static int stp_enabled(struct ifdata *br) return 0; } int enabled = 0; - fscanf(f, "%d", &enabled); + ret = fscanf(f, "%d", &enabled); + if (!ret) { + LOG("%s, stp_state parsing error", path); + return 0; + } fclose(f); INFO("STP on %s state %d", br->name, enabled);