pinosaur
/
smdp.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
434d0d1
)
Correction of memory management errors
author
Simon Doppler
<dopsi.dev@gmail.com>
Mon, 1 Dec 2014 19:24:20 +0000
(20:24 +0100)
committer
Michael Göhler
<somebody.here@gmx.de>
Tue, 2 Dec 2014 22:13:34 +0000
(23:13 +0100)
src/url.c
patch
|
blob
|
history
diff --git
a/src/url.c
b/src/url.c
index
e101013
..
f968dae
100644
(file)
--- a/
src/url.c
+++ b/
src/url.c
@@
-39,13
+39,15
@@
int url_add(const char *link_name, int link_name_length, const char *target, int
assert(tmp);
}
assert(tmp);
}
- tmp -> link_name = calloc(link_name_length, sizeof(char));
+ tmp -> link_name = calloc(link_name_length
+1
, sizeof(char));
assert(tmp->link_name);
strncpy(tmp->link_name, link_name, link_name_length);
assert(tmp->link_name);
strncpy(tmp->link_name, link_name, link_name_length);
+ tmp->link_name[link_name_length] = '\0';
- tmp->target = calloc(target_length, sizeof(char));
+ tmp->target = calloc(target_length
+1
, sizeof(char));
assert(tmp->target);
strncpy(tmp->target, target, target_length);
assert(tmp->target);
strncpy(tmp->target, target, target_length);
+ tmp->target[target_length] = '\0';
tmp->x = x;
tmp->y = y;
tmp->x = x;
tmp->y = y;
@@
-57,8
+59,12
@@
int url_add(const char *link_name, int link_name_length, const char *target, int
}
char * url_get_target(int index) {
}
char * url_get_target(int index) {
+ if (!init_ok) return NULL;
+
url_t *tmp = list;
url_t *tmp = list;
+ if (!tmp) return NULL;
+
while (index > 0 && tmp && tmp->next) {
tmp = tmp->next;
index--;
while (index > 0 && tmp && tmp->next) {
tmp = tmp->next;
index--;