Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Gebhardt, Albrecht
frewe-rpi
Commits
7364878d
Commit
7364878d
authored
Dec 02, 2018
by
Gebhardt, Albrecht
Browse files
SISEGV on filebuf
parent
85213e33
Changes
2
Show whitespace changes
Inline
Side-by-side
Makefile
View file @
7364878d
all
:
frewe-client
frewe-client
:
frewe-client.c http_fetcher.c http_error_codes.c curl-fopen.c
gcc frewe-client.c http_fetcher.c http_error_codes.c curl-fopen.c
-o
frewe-client
-lusb
-lm
-lcrypto
-lcurl
gcc
-g
frewe-client.c http_fetcher.c http_error_codes.c curl-fopen.c
-o
frewe-client
-lusb
-lm
-lcrypto
-lcurl
install
:
frewe-client
cp
rc.frewe-client /etc/init.d/frewe-client
...
...
frewe-client.c
View file @
7364878d
...
...
@@ -556,6 +556,7 @@ int main(int argc, char **argv)
{
logger
(
LOG_DEBUG
,
"main"
,
"Getting lasttime from server URL: %s"
,
frewe_server_url_lasttime
);
rv
=
ws_submit
(
frewe_server_url_lasttime
,
&
filebuf
);
if
(
filebuf
){
if
(
rv
==
0
&&
strlen
(
filebuf
)
>
25
)
rv
=
1
;
// Got some buggy output which can cause SIGSERV in strptime
if
(
rv
==
0
&&
strncasecmp
(
filebuf
,
"Not found"
,
9
)
==
0
)
// If lasttime not found try to read all records from WS
...
...
@@ -591,6 +592,7 @@ int main(int argc, char **argv)
rv
=
0
;
// Ignore this error and get the data only for the current position
}
}
}
// Warn if position doesn't meet a real record
...
...
@@ -701,6 +703,7 @@ int main(int argc, char **argv)
else
{
logger
(
LOG_DEBUG
,
"main"
,
"Submitting to server URL: %s"
,
output
);
rv
=
ws_submit
(
output
,
&
filebuf
);
if
(
filebuf
){
if
(
rv
!=
0
||
strncasecmp
(
filebuf
,
"OK"
,
2
)
!=
0
)
{
logger
(
LOG_ERROR
,
"main"
,
"Error submitting to frewe-server, check FreweServerURL"
);
...
...
@@ -715,6 +718,7 @@ int main(int argc, char **argv)
*/
}
}
}
free
(
output
);
}
...
...
@@ -1528,7 +1532,8 @@ int ws_parse(uint8_t *buffer, uint8_t *buffer60, uint8_t *buffer0h, time_t curti
if
(
w
.
pressabs
<
650
||
w
.
pressabs
>
1100
)
{
logger
(
LOG_ERROR
,
"ws_parse"
,
"Pressure out of range: %f hPa"
,
w
.
pressabs
);
errcount
++
;
//errcount++;
w
.
pressabs
=-
1
;
}
// Relative pressure (hPa)
...
...
@@ -1915,28 +1920,32 @@ int ws_format(char *format, char *out, unsigned char urlencode, char *user, char
case
'P'
:
// abs. pressure hPa
if
(
w
.
pressabs
<
650
||
w
.
pressabs
>
1100
)
strcatenc
(
out
,
error
,
urlencode
);
//strcatenc(out,error,urlencode);
sprintf
(
out
,
"%sNA"
,
out
);
else
sprintf
(
out
,
"%s%0.1f"
,
out
,
w
.
pressabs
);
break
;
case
'p'
:
// abs. pressure in
if
(
w
.
pressabs
<
650
||
w
.
pressabs
>
1100
)
strcatenc
(
out
,
error
,
urlencode
);
//strcatenc(out,error,urlencode);
sprintf
(
out
,
"%sNA"
,
out
);
else
sprintf
(
out
,
"%s%0.2f"
,
out
,
hpa2in
(
w
.
pressabs
));
break
;
case
'L'
:
// rel. pressure hPa
if
(
w
.
pressrel
<
650
||
w
.
pressrel
>
1100
)
strcatenc
(
out
,
error
,
urlencode
);
//strcatenc(out,error,urlencode);
sprintf
(
out
,
"%sNA"
,
out
);
else
sprintf
(
out
,
"%s%0.1f"
,
out
,
w
.
pressrel
);
break
;
case
'l'
:
// rel. pressure in
if
(
w
.
pressrel
<
650
||
w
.
pressrel
>
1100
)
strcatenc
(
out
,
error
,
urlencode
);
//strcatenc(out,error,urlencode);
sprintf
(
out
,
"%sNA"
,
out
);
else
sprintf
(
out
,
"%s%0.2f"
,
out
,
hpa2in
(
w
.
pressrel
));
break
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment