604917d4c4
issue noticed by todd@
32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
$OpenBSD: patch-lib_wwfetch_wwfetch_image_c,v 1.1 2008/11/08 17:13:08 ajacoutot Exp $
|
|
--- lib/wwfetch/wwfetch_image.c.orig Wed Nov 29 04:21:14 2006
|
|
+++ lib/wwfetch/wwfetch_image.c Sat Nov 8 18:01:51 2008
|
|
@@ -27,6 +27,9 @@
|
|
* @param level level of image [0..]
|
|
*/
|
|
wwfetch_error wwfetch_fetch_image(wwfetch *handle, int x, int y, int level) {
|
|
+ if (level > 14)
|
|
+ return WWFETCH_NOT_FOUND;
|
|
+
|
|
int res = 1 << (level);
|
|
|
|
double x1 = (double)(x)/(double)(res) * 360.0 - 180.0;
|
|
@@ -36,8 +39,16 @@ wwfetch_error wwfetch_fetch_image(wwfetch *handle, int
|
|
|
|
/* form full url */
|
|
char urlbuf[1024];
|
|
- if (snprintf(urlbuf, sizeof(urlbuf), "http://wms.jpl.nasa.gov/wms.cgi?request=GetMap&layers=global_mosaic_base&srs=EPSG:4326&width=256&height=256&bbox=%f,%f,%f,%f&format=image/jpeg&version=1.1.0&styles=", x1, y1, x2, y2) >= sizeof(urlbuf))
|
|
+ if (snprintf(urlbuf, sizeof(urlbuf), "http://wms.jpl.nasa.gov/wms.cgi?request=GetMap&layers=global_mosaic&srs=EPSG:4326&width=512&height=512&bbox=%f,%f,%f,%f&format=image/jpeg&version=1.1.0&styles=", x1, y1, x2, y2) >= sizeof(urlbuf))
|
|
return WWFETCH_SMALL_BUFFER;
|
|
+
|
|
+ wwfetch_error result = wwfetch_fetch(handle, urlbuf);
|
|
+ if (result == WWFETCH_OK) {
|
|
+ if (handle->currentsize < 4 || handle->currentdata[0] != 0xff ||
|
|
+ handle->currentdata[1] != 0xd8 || handle->currentdata[2] != 0xff ||
|
|
+ handle->currentdata[3] != 0xe0)
|
|
+ return WWFETCH_FETCH_FAILED;
|
|
+ }
|
|
|
|
return wwfetch_fetch(handle, urlbuf);
|
|
}
|