[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r11700 - in Extractor/src: common include main plugins
From: |
gnunet |
Subject: |
[GNUnet-SVN] r11700 - in Extractor/src: common include main plugins |
Date: |
Sun, 13 Jun 2010 00:57:40 +0200 |
Author: grothoff
Date: 2010-06-13 00:57:40 +0200 (Sun, 13 Jun 2010)
New Revision: 11700
Modified:
Extractor/src/common/convert.c
Extractor/src/include/platform.h
Extractor/src/main/extractor.c
Extractor/src/main/iconv.c
Extractor/src/plugins/deb_extractor.c
Extractor/src/plugins/dvi_extractor.c
Extractor/src/plugins/flac_extractor.c
Extractor/src/plugins/jpeg_extractor.c
Extractor/src/plugins/pdf_extractor.cc
Extractor/src/plugins/png_extractor.c
Extractor/src/plugins/ps_extractor.c
Extractor/src/plugins/qt_extractor.c
Log:
null malloc checks
Modified: Extractor/src/common/convert.c
===================================================================
--- Extractor/src/common/convert.c 2010-06-12 22:01:49 UTC (rev 11699)
+++ Extractor/src/common/convert.c 2010-06-12 22:57:40 UTC (rev 11700)
@@ -53,7 +53,7 @@
return NULL;
itmp = tmp;
finSize = tmpSize;
- if (iconv (cd, (char **) &input, &len, &itmp, &finSize) == (size_t) - 1)
+ if (iconv (cd, (char **) &input, &len, &itmp, &finSize) == SIZE_MAX)
{
iconv_close (cd);
free (tmp);
Modified: Extractor/src/include/platform.h
===================================================================
--- Extractor/src/include/platform.h 2010-06-12 22:01:49 UTC (rev 11699)
+++ Extractor/src/include/platform.h 2010-06-12 22:57:40 UTC (rev 11700)
@@ -44,6 +44,7 @@
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
+#include <stdint.h>
#include <fcntl.h>
#include <time.h>
#include <utime.h>
@@ -65,6 +66,10 @@
#include <iconv.h>
#include <langinfo.h>
+#ifndef SIZE_MAX
+#define SIZE_MAX ((size_t)-1)
+#endif
+
#if DARWIN
#include <mach-o/dyld.h>
#include <mach-o/ldsyms.h>
Modified: Extractor/src/main/extractor.c
===================================================================
--- Extractor/src/main/extractor.c 2010-06-12 22:01:49 UTC (rev 11699)
+++ Extractor/src/main/extractor.c 2010-06-12 22:57:40 UTC (rev 11700)
@@ -1249,7 +1249,7 @@
#ifndef WINDOWS
if ( (-1 != (shmid = shm_open (fn, O_RDONLY, 0))) &&
- (((size_t)-1) != (size = lseek (shmid, 0, SEEK_END))) &&
+ (SIZE_MAX != (size = lseek (shmid, 0, SEEK_END))) &&
(NULL != (ptr = mmap (NULL, size, PROT_READ, MAP_SHARED, shmid, 0)))
&&
(ptr != (void*) -1) )
#else
Modified: Extractor/src/main/iconv.c
===================================================================
--- Extractor/src/main/iconv.c 2010-06-12 22:01:49 UTC (rev 11699)
+++ Extractor/src/main/iconv.c 2010-06-12 22:57:40 UTC (rev 11700)
@@ -24,7 +24,8 @@
*/
static char *
iconv_helper(iconv_t cd,
- const char * in) {
+ const char * in)
+{
size_t inSize;
char * buf;
char * ibuf;
@@ -50,10 +51,11 @@
(char**) &in,
&inSize,
&ibuf,
- &outLeft) == (size_t)-1) {
- /* conversion failed */
- free(buf);
- return strdup(i);
- }
+ &outLeft) == SIZE_MAX)
+ {
+ /* conversion failed */
+ free(buf);
+ return strdup(i);
+ }
return buf;
}
Modified: Extractor/src/plugins/deb_extractor.c
===================================================================
--- Extractor/src/plugins/deb_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/deb_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -223,9 +223,6 @@
}
#define MAX_CONTROL_SIZE (1024 * 1024)
-#ifndef SIZE_MAX
-#define SIZE_MAX ((size_t)-1)
-#endif
static voidpf
Emalloc (voidpf opaque, uInt items, uInt size)
Modified: Extractor/src/plugins/dvi_extractor.c
===================================================================
--- Extractor/src/plugins/dvi_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/dvi_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -71,16 +71,23 @@
slen++;
slen = slen - pos;
value = malloc (slen + 1);
- value[slen] = '\0';
- memcpy (value, &data[pos], slen);
- if (0 != proc (proc_cls,
- "dvi",
- tmap[i].type,
- EXTRACTOR_METAFORMAT_C_STRING,
- "text/plain",
- value,
- strlen (value) +1))
- return 1;
+ if (value != NULL)
+ {
+ value[slen] = '\0';
+ memcpy (value, &data[pos], slen);
+ if (0 != proc (proc_cls,
+ "dvi",
+ tmap[i].type,
+ EXTRACTOR_METAFORMAT_C_STRING,
+ "text/plain",
+ value,
+ strlen (value) +1))
+ {
+ free (value);
+ return 1;
+ }
+ free (value);
+ }
pos += slen + 1;
}
}
@@ -119,8 +126,8 @@
{
unsigned int klen;
char *comment;
- unsigned int pos;
- unsigned int opos;
+ uint32_t pos;
+ uint32_t opos;
unsigned int len;
unsigned int pageCount;
char pages[16];
@@ -153,7 +160,7 @@
pos = ntohl (getIntAt (&data[opos + 1]));
while (1)
{
- if (pos == (unsigned int) -1)
+ if (pos == UINT32_MAX)
break;
if (pos + 45 > size)
return 0;
@@ -162,7 +169,7 @@
pageCount++;
opos = pos;
pos = ntohl (getIntAt (&data[opos + 41]));
- if (pos == (unsigned int) -1)
+ if (pos == UINT32_MAX)
break;
if (pos >= opos)
return 0; /* invalid! */
@@ -171,6 +178,14 @@
snprintf (pages, sizeof(pages), "%u", pageCount);
if (0 != proc (proc_cls,
"dvi",
+ EXTRACTOR_METATYPE_PAGE_COUNT,
+ EXTRACTOR_METAFORMAT_UTF8,
+ "text/plain",
+ pages,
+ strlen (pages) +1))
+ return 1;
+ if (0 != proc (proc_cls,
+ "dvi",
EXTRACTOR_METATYPE_MIMETYPE,
EXTRACTOR_METAFORMAT_UTF8,
"text/plain",
@@ -178,28 +193,23 @@
strlen ("application/x-dvi") +1))
return 1;
comment = malloc (klen + 1);
- comment[klen] = '\0';
- memcpy (comment, &data[15], klen);
- if (0 != proc (proc_cls,
- "dvi",
- EXTRACTOR_METATYPE_COMMENT,
- EXTRACTOR_METAFORMAT_UTF8,
- "text/plain",
- comment,
- strlen (comment) +1))
+ if (comment != NULL)
{
+ comment[klen] = '\0';
+ memcpy (comment, &data[15], klen);
+ if (0 != proc (proc_cls,
+ "dvi",
+ EXTRACTOR_METATYPE_COMMENT,
+ EXTRACTOR_METAFORMAT_UTF8,
+ "text/plain",
+ comment,
+ strlen (comment) +1))
+ {
+ free (comment);
+ return 1;
+ }
free (comment);
- return 1;
}
- free (comment);
- if (0 != proc (proc_cls,
- "dvi",
- EXTRACTOR_METATYPE_PAGE_COUNT,
- EXTRACTOR_METAFORMAT_UTF8,
- "text/plain",
- pages,
- strlen (pages) +1))
- return 1;
/* try to find PDF/ps special */
pos = opos;
while (pos < size - 100)
Modified: Extractor/src/plugins/flac_extractor.c
===================================================================
--- Extractor/src/plugins/flac_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/flac_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -134,6 +134,8 @@
char * d;
d= malloc(n+1);
+ if (d == NULL)
+ return NULL;
memcpy(d,s,n);
d[n]='\0';
return d;
@@ -162,8 +164,11 @@
{
tmp = xstrndup(value,
value_length);
- ADD (tmap[i].type, tmp);
- free (tmp);
+ if (tmp != NULL)
+ {
+ ADD (tmap[i].type, tmp);
+ free (tmp);
+ }
break;
}
i++;
Modified: Extractor/src/plugins/jpeg_extractor.c
===================================================================
--- Extractor/src/plugins/jpeg_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/jpeg_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -112,6 +112,8 @@
if (length <= 0)
return NULL;
comment = malloc (length + 1);
+ if (comment == NULL)
+ return NULL;
pos = 0;
while (length > 0)
{
Modified: Extractor/src/plugins/pdf_extractor.cc
===================================================================
--- Extractor/src/plugins/pdf_extractor.cc 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/pdf_extractor.cc 2010-06-12 22:57:40 UTC (rev
11700)
@@ -70,25 +70,25 @@
} else {
size_t len = strlen(s);
- while(0 < len) {
- /*
- * Avoid outputting trailing spaces.
- *
- * The following expression might be rewritten as
- * (! isspace(s[len - 1]) && 0xA0 != s[len - 1]).
- * There seem to exist isspace() implementations
- * which do return non-zero from NBSP (maybe locale-dependent).
- * Remove ISO-8859 non-breaking space (NBSP, hex value 0xA0) from
- * the expression if it looks suspicious (locale issues for instance).
- *
- * Squeezing out all non-printable characters might also be useful.
- */
- if ( (' ' != s[len - 1]) && ((char)0xA0 != s[len - 1]) &&
+ while(0 < len)
+ {
+ /*
+ * Avoid outputting trailing spaces.
+ *
+ * The following expression might be rewritten as
+ * (! isspace(s[len - 1]) && 0xA0 != s[len - 1]).
+ * There seem to exist isspace() implementations
+ * which do return non-zero from NBSP (maybe locale-dependent).
+ * Remove ISO-8859 non-breaking space (NBSP, hex value 0xA0) from
+ * the expression if it looks suspicious (locale issues for instance).
+ *
+ * Squeezing out all non-printable characters might also be useful.
+ */
+ if ( (' ' != s[len - 1]) && (((char)0xA0) != s[len - 1]) &&
('\r' != s[len - 1]) && ('\n' != s[len - 1]) &&
('\t' != s[len - 1]) && ('\v' != s[len - 1]) &&
('\f' != s[len - 1]) )
- break;
-
+ break;
else
len --;
}
Modified: Extractor/src/plugins/png_extractor.c
===================================================================
--- Extractor/src/plugins/png_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/png_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -28,6 +28,8 @@
{
char *tmp;
tmp = malloc (n + 1);
+ if (tmp == NULL)
+ return NULL;
tmp[n] = '\0';
memcpy (tmp, str, n);
return tmp;
@@ -79,7 +81,7 @@
#define ADD(t,s) do { if (0 != (ret = proc (proc_cls, "tar", t,
EXTRACTOR_METAFORMAT_UTF8, "text/plain", s, strlen(s)+1))) goto FINISH; } while
(0)
-#define ADDF(t,s) do { if (0 != (ret = proc (proc_cls, "tar", t,
EXTRACTOR_METAFORMAT_UTF8, "text/plain", s, strlen(s)+1))) { free(s); goto
FINISH; } free (s); } while (0)
+#define ADDF(t,s) do { if ( (s != NULL) && (0 != (ret = proc (proc_cls, "tar",
t, EXTRACTOR_METAFORMAT_UTF8, "text/plain", s, strlen(s)+1))) ) { free(s); goto
FINISH; } if (s != NULL) free (s); } while (0)
static int
Modified: Extractor/src/plugins/ps_extractor.c
===================================================================
--- Extractor/src/plugins/ps_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/ps_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -39,6 +39,8 @@
(data[end] != (char) 0x0d) && (data[end] != (char) 0x0a))
end++;
res = malloc (end - pos + 1);
+ if (res == NULL)
+ return NULL;
memcpy (res, &data[pos], end - pos);
res[end - pos] = '\0';
Modified: Extractor/src/plugins/qt_extractor.c
===================================================================
--- Extractor/src/plugins/qt_extractor.c 2010-06-12 22:01:49 UTC (rev
11699)
+++ Extractor/src/plugins/qt_extractor.c 2010-06-12 22:57:40 UTC (rev
11700)
@@ -853,6 +853,8 @@
addKeyword (EXTRACTOR_METATYPE_LANGUAGE, languages[lang], ec);
meta = malloc (len + 1);
+ if (meta == NULL)
+ return 0;
memcpy (meta, &txt[1], len);
meta[len] = '\0';
for (i = 0; i < len; i++)
@@ -951,6 +953,8 @@
}
else if (flags == 0x1) { /* text data */
meta = malloc (len + 1);
+ if (meta == NULL)
+ return 0;
memcpy (meta, &input[pos+16], len);
meta[len] = '\0';
for (i = 0; i < len; i++)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r11700 - in Extractor/src: common include main plugins,
gnunet <=