31 lines
898 B
Diff
31 lines
898 B
Diff
|
--- reiser4progs-1.0.7.orig/libreiser4/profile.c
|
||
|
+++ reiser4progs-1.0.7/libreiser4/profile.c
|
||
|
@@ -5,7 +5,8 @@
|
||
|
|
||
|
|
||
|
#include <reiser4/libreiser4.h>
|
||
|
-#include <misc/misc.h>
|
||
|
+#include <stdlib.h>
|
||
|
+#include <errno.h>
|
||
|
|
||
|
/* All default plugin ids. This is used for getting plugin id if it cannot be
|
||
|
obtained by usual way (get from disk structures, etc.). All these may be
|
||
|
@@ -332,6 +333,7 @@
|
||
|
reiser4_plug_t *plug;
|
||
|
long long int val;
|
||
|
uint8_t i;
|
||
|
+ char *error;
|
||
|
|
||
|
aal_assert("umka-924", slot != NULL);
|
||
|
aal_assert("umka-923", name != NULL);
|
||
|
@@ -354,7 +356,8 @@
|
||
|
}
|
||
|
|
||
|
if (defprof.pid[i].id.type == PARAM_PLUG_TYPE) {
|
||
|
- if ((val = misc_str2long((char *)name, 10)) == INVAL_DIG) {
|
||
|
+ val = strtol((char *)name, &error, 10);
|
||
|
+ if (errno == ERANGE || *error) {
|
||
|
aal_error("Invalid value \"%s\" is provided for the "
|
||
|
"profile slot \"%s\".", (char *)name,
|
||
|
defprof.pid[i].name);
|