From 27f12c173d57d09d095d0e5ecfeb18acf5d2434a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 26 Mar 2008 10:38:07 +0000 Subject: use size_t When dealing with in-memory lengths, the standard type "size_t" should be used. Missing one can be quite dangerous, because an attacker could provoke an integer under-/overflow, which may provide an attack vector. git-svn-id: https://svn.musicpd.org/mpd/trunk@7205 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/tag.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/tag.c') diff --git a/src/tag.c b/src/tag.c index b3645e007..eb971ecdc 100644 --- a/src/tag.c +++ b/src/tag.c @@ -466,8 +466,8 @@ MpdTag *apeDup(char *file) int tagCount; char *buffer = NULL; char *p; - int tagLen; - int size; + size_t tagLen; + size_t size; unsigned long flags; int i; char *key; @@ -508,7 +508,7 @@ MpdTag *apeDup(char *file) /* determine if file has an apeV2 tag */ if (fseek(fp, 0, SEEK_END)) goto fail; - size = ftell(fp); + size = (size_t)ftell(fp); if (fseek(fp, size - sizeof(footer), SEEK_SET)) goto fail; if (fread(&footer, 1, sizeof(footer), fp) != sizeof(footer)) @@ -554,7 +554,7 @@ MpdTag *apeDup(char *file) tagLen--; /* get the value */ - if (tagLen - size < 0) + if (tagLen < size) goto fail; /* we only care about utf-8 text tags */ -- cgit v1.2.3