|
@@ -116,7 +116,7 @@ int sprint_oid(const void *data, size_t datasize, char *buffer, size_t bufsize)
|
|
int count;
|
|
int count;
|
|
|
|
|
|
if (v >= end)
|
|
if (v >= end)
|
|
- return -EBADMSG;
|
|
|
|
|
|
+ goto bad;
|
|
|
|
|
|
n = *v++;
|
|
n = *v++;
|
|
ret = count = snprintf(buffer, bufsize, "%u.%u", n / 40, n % 40);
|
|
ret = count = snprintf(buffer, bufsize, "%u.%u", n / 40, n % 40);
|
|
@@ -134,7 +134,7 @@ int sprint_oid(const void *data, size_t datasize, char *buffer, size_t bufsize)
|
|
num = n & 0x7f;
|
|
num = n & 0x7f;
|
|
do {
|
|
do {
|
|
if (v >= end)
|
|
if (v >= end)
|
|
- return -EBADMSG;
|
|
|
|
|
|
+ goto bad;
|
|
n = *v++;
|
|
n = *v++;
|
|
num <<= 7;
|
|
num <<= 7;
|
|
num |= n & 0x7f;
|
|
num |= n & 0x7f;
|
|
@@ -148,6 +148,10 @@ int sprint_oid(const void *data, size_t datasize, char *buffer, size_t bufsize)
|
|
}
|
|
}
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
|
|
+
|
|
|
|
+bad:
|
|
|
|
+ snprintf(buffer, bufsize, "(bad)");
|
|
|
|
+ return -EBADMSG;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(sprint_oid);
|
|
EXPORT_SYMBOL_GPL(sprint_oid);
|
|
|
|
|