[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r286 - Extractor/src/plugins
From: |
grothoff |
Subject: |
[GNUnet-SVN] r286 - Extractor/src/plugins |
Date: |
Sun, 20 Feb 2005 09:41:37 -0800 (PST) |
Author: grothoff
Date: 2005-02-20 09:41:36 -0800 (Sun, 20 Feb 2005)
New Revision: 286
Modified:
Extractor/src/plugins/pngextractor.c
Log:
pdf bugfix
Modified: Extractor/src/plugins/pngextractor.c
===================================================================
--- Extractor/src/plugins/pngextractor.c 2005-02-20 17:25:23 UTC (rev
285)
+++ Extractor/src/plugins/pngextractor.c 2005-02-20 17:41:36 UTC (rev
286)
@@ -1,6 +1,6 @@
/*
This file is part of libextractor.
- (C) 2002, 2003, 2004 Vidyut Samanta and Christian Grothoff
+ (C) 2002, 2003, 2004, 2005 Vidyut Samanta and Christian Grothoff
libextractor is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -46,7 +46,7 @@
return result;
}
-static int getIntAt(char * pos) {
+static int getIntAt(const char * pos) {
char p[4];
memcpy(p, pos, 4); /* ensure alignment! */
@@ -72,7 +72,7 @@
{ NULL, EXTRACTOR_UNKNOWN},
};
-static struct EXTRACTOR_Keywords * processtEXt(unsigned char * data,
+static struct EXTRACTOR_Keywords * processtEXt(const unsigned char * data,
unsigned int length,
struct EXTRACTOR_Keywords *
prev) {
char * keyword;
@@ -100,13 +100,13 @@
prev);
}
-static struct EXTRACTOR_Keywords * processiTXt(unsigned char * data,
+static struct EXTRACTOR_Keywords * processiTXt(const unsigned char * data,
unsigned int length,
struct EXTRACTOR_Keywords *
prev) {
unsigned int pos;
char * keyword;
- char * language;
- char * translated;
+ const char * language;
+ const char * translated;
int i;
int compressed;
char * buf;
@@ -182,7 +182,7 @@
prev);
}
-static struct EXTRACTOR_Keywords * processIHDR(unsigned char * data,
+static struct EXTRACTOR_Keywords * processIHDR(const unsigned char * data,
unsigned int length,
struct EXTRACTOR_Keywords *
prev) {
char * tmp;
@@ -202,7 +202,7 @@
}
/* not supported... */
-static struct EXTRACTOR_Keywords * processzTXt(unsigned char * data,
+static struct EXTRACTOR_Keywords * processzTXt(const unsigned char * data,
unsigned int length,
struct EXTRACTOR_Keywords *
prev) {
char * keyword;
@@ -291,8 +291,11 @@
if (pos+12 >= end)
break;
length = htonl(getIntAt(pos)); pos+=4;
- if (pos+4+length+4 > end)
+ /* printf("Length: %u, pos %u\n", length, pos - data); */
+ if ( (pos+4+length+4 > end) ||
+ (pos+4+length+4 < pos + 4 + length) )
break;
+
if (0 == strncmp(pos, "IHDR", 4))
result = processIHDR(pos, length, result);
if (0 == strncmp(pos, "iTXt", 4))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r286 - Extractor/src/plugins,
grothoff <=