Module: wine Branch: master Commit: a548d5a29fac36a556bc8d676a180bef8a2a942a URL: http://source.winehq.org/git/wine.git/?a=commit;h=a548d5a29fac36a556bc8d676a...
Author: Juan Lang juan.lang@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[] = {