Juan Lang : inetmib1: Check return values from SnmpUtilOid functions in utility functions.
Module: wine Branch: master Commit: a548d5a29fac36a556bc8d676a180bef8a2a942a URL: http://source.winehq.org/git/wine.git/?a=commit;h=a548d5a29fac36a556bc8d676a... Author: Juan Lang <juan.lang(a)gmail.com> Date: Thu May 7 09:28:24 2009 -0700 inetmib1: Check return values from SnmpUtilOid functions in utility functions. --- dlls/inetmib1/main.c | 52 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 34 insertions(+), 18 deletions(-) diff --git a/dlls/inetmib1/main.c b/dlls/inetmib1/main.c index 3b39174..4fdd1df 100644 --- a/dlls/inetmib1/main.c +++ b/dlls/inetmib1/main.c @@ -431,45 +431,61 @@ static AsnInteger32 getItemAndInstanceFromTable(AsnObjectIdentifier *oid, return ret; } -static void setOidWithItem(AsnObjectIdentifier *dst, AsnObjectIdentifier *base, +static INT setOidWithItem(AsnObjectIdentifier *dst, AsnObjectIdentifier *base, UINT item) { UINT id; AsnObjectIdentifier oid; + INT ret; - SnmpUtilOidCpy(dst, base); - oid.idLength = 1; - oid.ids = &id; - id = item; - SnmpUtilOidAppend(dst, &oid); + ret = SnmpUtilOidCpy(dst, base); + if (ret) + { + oid.idLength = 1; + oid.ids = &id; + id = item; + ret = SnmpUtilOidAppend(dst, &oid); + } + return ret; } -static void setOidWithItemAndIpAddr(AsnObjectIdentifier *dst, +static INT setOidWithItemAndIpAddr(AsnObjectIdentifier *dst, AsnObjectIdentifier *base, UINT item, DWORD addr) { UINT id; BYTE *ptr; AsnObjectIdentifier oid; + INT ret; - setOidWithItem(dst, base, item); - oid.idLength = 1; - oid.ids = &id; - for (ptr = (BYTE *)&addr; ptr < (BYTE *)&addr + sizeof(DWORD); ptr++) + ret = setOidWithItem(dst, base, item); + if (ret) { - id = *ptr; - SnmpUtilOidAppend(dst, &oid); + oid.idLength = 1; + oid.ids = &id; + for (ptr = (BYTE *)&addr; ret && ptr < (BYTE *)&addr + sizeof(DWORD); + ptr++) + { + id = *ptr; + ret = SnmpUtilOidAppend(dst, &oid); + } } + return ret; } -static void setOidWithItemAndInteger(AsnObjectIdentifier *dst, +static INT setOidWithItemAndInteger(AsnObjectIdentifier *dst, AsnObjectIdentifier *base, UINT item, UINT instance) { AsnObjectIdentifier oid; + INT ret; - setOidWithItem(dst, base, item); - oid.idLength = 1; - oid.ids = &instance; - SnmpUtilOidAppend(dst, &oid); + ret = setOidWithItem(dst, base, item); + if (ret) + { + oid.idLength = 1; + oid.ids = &instance; + ret = SnmpUtilOidAppend(dst, &oid); + } + return ret; } static struct structToAsnValue mib2IfEntryMap[] = {
participants (1)
-
Alexandre Julliard