[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r1782 - GNUnet/src/applications/fs/fsui
From: |
grothoff |
Subject: |
[GNUnet-SVN] r1782 - GNUnet/src/applications/fs/fsui |
Date: |
Sat, 20 Aug 2005 01:33:41 -0700 (PDT) |
Author: grothoff
Date: 2005-08-20 01:33:40 -0700 (Sat, 20 Aug 2005)
New Revision: 1782
Modified:
GNUnet/src/applications/fs/fsui/file_info.c
Log:
fixing leak and bug in URI tracking
Modified: GNUnet/src/applications/fs/fsui/file_info.c
===================================================================
--- GNUnet/src/applications/fs/fsui/file_info.c 2005-08-20 08:28:16 UTC (rev
1781)
+++ GNUnet/src/applications/fs/fsui/file_info.c 2005-08-20 08:33:40 UTC (rev
1782)
@@ -108,6 +108,7 @@
stateAppendContent(STATE_NAME, ntohl(size), data);
IPC_SEMAPHORE_UP(sem);
IPC_SEMAPHORE_FREE(sem);
+ FREE(data);
FREE(suri);
}
@@ -171,21 +172,30 @@
while ( (spos < ret) &&
(result[spos] != '\0') )
spos++;
- if (spos + sizeof(int) >= ret)
+ spos++; /* skip '\0' */
+ if (spos + sizeof(int) >= ret) {
+ BREAK();
goto FORMATERROR;
+ }
fi.uri = ECRS_stringToUri(&result[pos]);
- if (fi.uri == NULL)
+ if (fi.uri == NULL) {
+ BREAK();
goto FORMATERROR;
- memcpy(&msize, &result[spos], sizeof(int));
+ }
+ memcpy(&msize,
+ &result[spos],
+ sizeof(int));
msize = ntohl(msize);
- spos += 4;
+ spos += sizeof(int);
if (spos + msize > ret) {
+ BREAK();
ECRS_freeUri(fi.uri);
goto FORMATERROR;
}
fi.meta = ECRS_deserializeMetaData(&result[spos],
msize);
if (fi.meta == NULL) {
+ BREAK();
ECRS_freeUri(fi.uri);
goto FORMATERROR;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r1782 - GNUnet/src/applications/fs/fsui,
grothoff <=