fix warnings
diff --git a/libasn1parser/asn1p_integer.c b/libasn1parser/asn1p_integer.c
index 2d06fb3..97e6465 100644
--- a/libasn1parser/asn1p_integer.c
+++ b/libasn1parser/asn1p_integer.c
@@ -114,7 +114,7 @@
if(v >= LONG_MIN && v < LONG_MAX) {
int ret = snprintf(buf, size, "%ld", (long)v);
- if(ret < 0 || ret >= size) {
+ if(ret < 0 || (size_t)ret >= size) {
return -1;
}
return ret;
@@ -155,9 +155,10 @@
assert(head);
int ret = snprintf(tmp_buf, sizeof(tmp_buf), "%s%s%s", sign ? "-" : "",
head, rest);
- assert(ret > 0 && ret < sizeof(tmp_buf));
- if(size <= ret)
+ if(ret < 0 || (size_t)ret >= size) {
+ assert(ret > 0 && (size_t)ret < sizeof(tmp_buf));
return -1;
+ }
memcpy(buf, tmp_buf, ret);
buf[ret] = '\0';
return ret;