… | |
… | |
79 | #include <uudeview.h> |
79 | #include <uudeview.h> |
80 | #include <uuint.h> |
80 | #include <uuint.h> |
81 | #include <fptools.h> |
81 | #include <fptools.h> |
82 | #include <uustring.h> |
82 | #include <uustring.h> |
83 | |
83 | |
|
|
84 | #include "safealloc.c" |
|
|
85 | |
84 | char * uulib_id = "$Id: uulib.c,v 1.21 2011/05/29 15:16:42 root Exp $"; |
86 | char * uulib_id = "$Id: uulib.c,v 1.22 2015/07/10 01:17:08 root Exp $"; |
85 | |
87 | |
86 | #ifdef SYSTEM_WINDLL |
88 | #ifdef SYSTEM_WINDLL |
87 | BOOL _export WINAPI |
89 | BOOL _export WINAPI |
88 | DllEntryPoint (HINSTANCE hInstance, DWORD seginfo, |
90 | DllEntryPoint (HINSTANCE hInstance, DWORD seginfo, |
89 | LPVOID lpCmdLine) |
91 | LPVOID lpCmdLine) |
… | |
… | |
253 | { &uuscan_shlline, 1024 }, /* from uuscan.c:ScanHeaderLine() */ |
255 | { &uuscan_shlline, 1024 }, /* from uuscan.c:ScanHeaderLine() */ |
254 | { &uuscan_shlline2, 1024 }, /* from uuscan.c:ScanHeaderLine() */ |
256 | { &uuscan_shlline2, 1024 }, /* from uuscan.c:ScanHeaderLine() */ |
255 | { &uuscan_pvvalue, 300 }, /* from uuscan.c:ParseValue() */ |
257 | { &uuscan_pvvalue, 300 }, /* from uuscan.c:ParseValue() */ |
256 | { &uuscan_phtext, 300 }, /* from uuscan.c:ParseHeader() */ |
258 | { &uuscan_phtext, 300 }, /* from uuscan.c:ParseHeader() */ |
257 | { &uuscan_sdline, 1025 }, /* from uuscan.c:ScanData(), +1 for UURepairData */ |
259 | { &uuscan_sdline, 1025 }, /* from uuscan.c:ScanData(), +1 for UURepairData */ |
258 | { &uuscan_sdbhds1, 300 }, |
260 | { &uuscan_sdbhds1, 1300 }, /* 1024 for line in UUScan + 256 potential overhead UUDecodeLine */ |
259 | { &uuscan_sdbhds2, 300 }, |
261 | { &uuscan_sdbhds2, 1300 }, /* 1024 for line in UUScan + 256 potential overhead UUDecodeLine */ |
260 | { &uuscan_spline, 1024 }, /* from uuscan.c:ScanPart() */ |
262 | { &uuscan_spline, 1024 }, /* from uuscan.c:ScanPart() */ |
261 | { &uuutil_bhwtmp, 300 }, /* from uuutil.c:UUbhwrite() */ |
263 | { &uuutil_bhwtmp, 300 }, /* from uuutil.c:UUbhwrite() */ |
262 | { NULL, 0 } |
264 | { NULL, 0 } |
263 | }; |
265 | }; |
264 | |
266 | |
… | |
… | |
394 | |
396 | |
395 | for (aiter=toallocate; aiter->ptr; aiter++) |
397 | for (aiter=toallocate; aiter->ptr; aiter++) |
396 | *(aiter->ptr) = NULL; |
398 | *(aiter->ptr) = NULL; |
397 | |
399 | |
398 | for (aiter=toallocate; aiter->ptr; aiter++) { |
400 | for (aiter=toallocate; aiter->ptr; aiter++) { |
399 | if ((*(aiter->ptr) = (char *) malloc (aiter->size)) == NULL) { |
401 | if ((*(aiter->ptr) = (char *) safe_alloc (aiter->size)) == NULL) { |
400 | /* |
402 | /* |
401 | * oops. we may not print a message here, because we need these |
403 | * oops. we may not print a message here, because we need these |
402 | * areas (uulib_msgstring) in UUMessage() |
404 | * areas (uulib_msgstring) in UUMessage() |
403 | */ |
405 | */ |
404 | for (aiter=toallocate; aiter->ptr; aiter++) { |
406 | for (aiter=toallocate; aiter->ptr; aiter++) { |
405 | _FP_free (*(aiter->ptr)); |
407 | safe_free (*(aiter->ptr), aiter->size); |
406 | } |
408 | } |
407 | return UURET_NOMEM; |
409 | return UURET_NOMEM; |
408 | } |
410 | } |
409 | } |
411 | } |
410 | |
412 | |
… | |
… | |
1357 | /* |
1359 | /* |
1358 | * clean up the malloc'ed stuff |
1360 | * clean up the malloc'ed stuff |
1359 | */ |
1361 | */ |
1360 | |
1362 | |
1361 | for (aiter=toallocate; aiter->ptr; aiter++) { |
1363 | for (aiter=toallocate; aiter->ptr; aiter++) { |
1362 | _FP_free (*(aiter->ptr)); |
1364 | safe_free (*(aiter->ptr), aiter->size); |
1363 | *(aiter->ptr) = NULL; |
1365 | *(aiter->ptr) = NULL; |
1364 | } |
1366 | } |
1365 | |
1367 | |
1366 | return UURET_OK; |
1368 | return UURET_OK; |
1367 | } |
1369 | } |